Unity的MonoBehaviour类中的“消息”是什么?(开始,更新,唤醒...等)

inv*_*lid -1 c# game-engine unity-game-engine

此页面的“消息”是什么?(开始,更新,唤醒等)
是类似于虚拟方法还是事件?
还是“消息”是C#语法之一?
https://docs.unity3d.com/ScriptReference/MonoBehaviour.html

Men*_*yus 5

如果定义了这些方法,则Unity引擎基本上会在MonoBehaviours上调用这些方法,具体取决于引擎事件。

例如:

  • Awake 在加载脚本实例时调用。
  • Start 在启用脚本的第一帧中,在每个Update方法之前以及在Awake之后被调用
  • Update 在每一帧中被调用

您可以在DOC中看到很多消息,并且根据引擎事件对其进行调用。

您不能将这些事件称为引擎正在处理的事件!

最常见的是:

  • 更新资料
  • 开始
  • 苏醒
  • 销毁
  • 启用

但是请注意,在这些方法为空的情况下使用这些方法(消息)的开销很小,因为即使它们为空,引擎也会调用它们。

另一个高级之处是,其中一些消息可以是协程。您可以为他们提供一些高级功能。

IEnumerator Start()
{
    Debug.Log("First frame i'm being enabled! yeee");
    // After 2 seconds i'm gonna blink
    yield return new WaitForSeconds(2.0f);
    Debug.Log("I'm going to blink");
    Blink();
}
Run Code Online (Sandbox Code Playgroud)