1.打开创建的脚本后其中的基本内容
我们自己创建的脚本其对应的类 → 继承自MonoBehaviour类
MonoBehaviour类 → 继承自Behaviour类
Behaviour类 → 继承自Component类
Component类 → 继承自Object类
当我们创建脚本之后,Unity会默认给我们Start方法和Update方法。
Start方法只执行一次,Update方法每帧执行多次。
3.事件函数的执行时机和先后顺序
根据Unity官方指南中Scrpiting API内容中的流程图解释。
链接为:file:///E:/Unity%203D/Editor/Data/Documentation/en/Manual/ExecutionOrder.html
另外附上某详细翻译博客链接:https://www.jianshu.com/p/1d93ece664e2
以及MonoBehaviour类的官方指南链接:https://docs.unity3d.com/ScriptReference/MonoBehaviour.html
脚本的生命周期流程图为:
1.Reset方法
当组件被重置时(右侧小齿轮中Reset),或组件被添加时,在这两种情况下执行。
2.Debug方法
Debug.log("xxxxx");
3.Awake方法
当整个场景被运行时,或当某个物体被实例化时,在这两种情况下执行。
4.OnEnable方法,OnDisable方法
当游戏物体被勾选时,OnEnable方法执行;当游戏物体被禁用时(不被勾选),OnDisnable方法执行。
5.FixedUpdate方法,Update方法,LateUpdate方法
FixedUpdate方法每秒固定调用设置的次数(一般为60次),跟帧不搭配,最先调用;
Update方法与帧搭配,每帧的调用次数不一定为固定设置的次数,而是根据游戏运行实际环境调用;
LateUpdate方法与Update方法类似,但比Update方法后调用,其调用次数与Update方法始终保持一致。
注意:一般跟物体运动有关的代码应放在FixedUpdate方法里,这样即跟电脑性能无关,不会因为性能低而运动速度降低。
6.OnTriggerXXX方法,OnCollisionXXX方法,OnMouseXXX方法,Gizmos,OnApplicationPause方法,OnApplicationQuit方法,OnDestroy方法
OnTriggerXXX方法和OnCollisionXXX方法(控制触发器)
OnMouseXXX方法(鼠标输入)
Gizmos(控制辅助线)
OnApplicationPause方法(游戏运行时点击暂停时执行)
OnApplicationQuit方法(退出游戏时执行)
OnDestroy方法(游戏退出后所有游戏物体被销毁时执行)