Cocos 速通

生命周期

Unity 中常见组件的生命周期函数如下:

  • OnLoad:对象加载时调用
  • Start:在第一次帧更新之前调用
  • Update:每帧调用一次,用于处理逻辑更新
  • LateUpdate:所有 Update 执行完后调用
  • OnDisable:当对象被禁用时调用
  • OnEnable:当对象被启用时调用
  • OnDestroy:对象销毁时调用

this.node 表示当前节点自身(常用于 Cocos Creator 等框架)


输入事件

鼠标事件类型:

1
2
3
4
Input.EventType.MOUSE_DOWN   // 鼠标按下
Input.EventType.MOUSE_MOVE // 鼠标移动
Input.EventType.MOUSE_UP // 鼠标抬起
Input.EventType.MOUSE_WHEEL // 鼠标滚轮滚动

触摸事件类型:

1
2
3
4
Input.EventType.TOUCH_START   // 触摸开始
Input.EventType.TOUCH_MOVE // 触摸移动
Input.EventType.TOUCH_END // 触摸结束
Input.EventType.TOUCH_CANCEL // 触摸取消

监听方法:

1
Input.on(监听类型, 执行函数, this);

⚠️ 注意:开启监听和关闭监听应成对出现,防止内存泄漏
示例:Input.off(...) 用于移除监听

其他:

  • @property:用于在编辑器中显示变量(如 Unity 的 [SerializeField] 或 Cocos Creator 的 @property 装饰器)

碰撞检测

常见触发函数:

函数名 描述
onTriggerEnter 当碰撞体进入触发区域时调用
onTriggerStay 当碰撞体停留在触发区域内时持续调用
onTriggerExit 当碰撞体离开触发区域时调用

使用方式:

1
collider.on('trigger-type', callback, this);

场景控制

重新加载场景:

1
2
Director.getInstance().loadScene("场景名称");
// 或者类似写法,具体取决于使用的引擎(如 Cocos Creator)

预制体(Prefab)

实例化预制体:

1
Instantiate(预制体); // 创建一个预制体实例

平滑移动(Tween 动画)

使用 Tween 实现平滑移动:

1
2
3
4
tween(目标对象)
.to(时间, { position: new Vec3(x, y, z) })
.call(() => {}) // 移动完成后执行的回调
.start(); // 启动动画

本地坐标与世界坐标转换

设置世界坐标:

1
节点.setWorldPosition(世界坐标); // 将节点设置到指定的世界坐标位置