Unity5特性 RuntimeInitializeOnLoadMethodAttribute

Unity5带的新特性 RuntimeInitializeOnLoadMethodAttribute 可以在不实例化的情况下执行脚本函数,对于游戏的初始化工作很有帮助。

// Demonstration of RuntimeInitializeOnLoadMethod and the argument it can take.
using UnityEngine;

class MyClass { [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] static void OnBeforeSceneLoadRuntimeMethod() { Debug.Log("Before first scene loaded"); }

[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)] static void OnAfterSceneLoadRuntimeMethod() { Debug.Log("After first scene loaded"); }

[RuntimeInitializeOnLoadMethod] static void OnRuntimeMethodLoad() { Debug.Log("RuntimeMethodLoad: After first scene loaded"); } }

执行的生命周期顺序:脚本构造 --> 属性(BeforeRuntime) --> Awake --> 属性(AfterRuntime) --> 属性(OnRuntime) --> Start --> Update -->...

有一点不是很懂,不知道为何必须是static函数才可以,我试了下去掉static就不执行了。。。

posted @ 2018-10-25 15:06  cbxseed  阅读(627)  评论(0编辑  收藏  举报