脚本编程
脚本是 PlayCanvas 交互功能的核心。它们是可以复用的代码,附加到实体后,可以定义行为、处理用户输入、管理游戏逻辑,让项目真正运行起来。
使用编辑器?
如果你使用 PlayCanvas Editor,请阅读编辑器脚本编程,了解脚本管理、代码编辑器、VS Code 集成和热重载。
两套脚本系统
PlayCanvas 支持两种脚本编写方式:
- ESM 脚本(
.mjs文件):基于现代 ES 模块,使用类语法。推荐新项目使用。 - 经典脚本(
.js文件):PlayCanvas 最初的脚本系统,使用基于原型的语法。
两套系统可以在同一项目中共存,方便逐步迁移,或根据需求选择合适的方式。
简单示例
下面的简单脚本可以让实体旋转:
- ESM(推荐)
- 经典脚本
import { Script } from 'playcanvas';
export class Rotate extends Script {
static scriptName = 'rotate';
/** @attribute */
speed = 10;
update(dt) {
this.entity.rotate(0, this.speed * dt, 0);
}
}
var Rotate = pc.createScript('rotate');
Rotate.attributes.add('speed', { type: 'number', default: 10 });
Rotate.prototype.update = function(dt) {
this.entity.rotate(0, this.speed * dt, 0);
};