生命周期
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("场景名称");
|
预制体(Prefab)
实例化预制体:
平滑移动(Tween 动画)
使用 Tween 实现平滑移动:
1 2 3 4
| tween(目标对象) .to(时间, { position: new Vec3(x, y, z) }) .call(() => {}) .start();
|
本地坐标与世界坐标转换
设置世界坐标:
1
| 节点.setWorldPosition(世界坐标);
|