创造你的世界
脚本编写

事件函数

8min

事件函数是在Unity引擎中,GameObject或组件生命周期内自动调用的特殊函数,因此,它们也被称为生命周期事件函数。

事件函数由Unity引擎在特定时机自动调用。

事件函数是在Unity引擎中,GameObject或组件生命周期内自动调用的特殊函数,因此,它们也被称为生命周期事件函数。

ZEPETO脚本生命周期流程图
ZEPETO脚本生命周期流程图




初始化事件

  • 您可以使用初始化事件在更新之前调用初始化代码。
  • Start函数在任何物理更新之前和第一帧之前被调用,而Awake函数在调用场景时为场景中的每个对象被调用。
  • 不同对象的Start和Awake函数以随机顺序被调用,但所有Awake调用在Start被调用之前完成。
  • 这意味着Start函数可以使用在Awake函数中之前进行的其他初始化。



定期更新事件

  • 定期更新是指每帧调用的所有更新。
  • 它们在每帧渲染之前改变对象的位置、状态和行为。
  • ZEPETOScript为在更新函数中处理计算提供了指导。

物理事件

  • 物理事件通过添加到GameObject中的脚本调用事件函数。
  • 当接触发生、保持和断开时,调用OnCollisionEnter、OnCollisionStay和OnCollisionExit函数。
  • 当对象碰撞体被配置为触发器时(即一个不对碰撞做物理反应而只是检测碰撞的碰撞体),调用OnTriggerEnter、OnTriggerStay和OnTriggerExit函数。
  • 如果在物理更新期间检测到多个接触,这些函数可能会连续调用多次,因此会将提供碰撞详细信息(位置、对象身份)的参数发送到函数中。

GUI事件

  • ZEPETOScript支持渲染GUI控件的事件,并对元素的点击做出反应。它们的工作方式与正常的帧更新不同,因此与UI相关的逻辑应放在OnGUI函数中。

鼠标事件

  • 在ZEPETOScript中,支持响应鼠标交互的事件。
  • 然而,鼠标事件需要在相关的GameObject上存在一个Collider或Collider2D,并且只有在该Collider被鼠标点击时才会触发。
  • 当用户点击鼠标按钮时,会调用OnMouseDown()。
  • 当用户释放鼠标按钮时,会调用OnMouseUp()。
  • 当鼠标光标在GameObject的Collider或Collider2D上时,每帧都会调用OnMouseOver()。



终止事件

  • 终止事件在场景中所有激活的对象中被调用。
  • 当给定对象被禁用或处于非活动状态时,会调用OnDisable函数,并且在应用程序关闭之前,会在所有GameObjects上调用OnApplicationQuit。



ZEPETOScript固有支持的所有事件函数在下面的示例代码中列出。

示例_单行为生命周期




请查看下面的测试代码输出屏幕。

Document image


您可以通过点击下面的链接了解更多关于ZEPETOScript提供的Unity事件函数的信息。



更新日期 11 Oct 2024
Doc contributor
此页面是否对您有帮助?