创建三个Cube立方体 并创建三个脚本文件与之相关联。
在脚本中写入下代码
之后观察执行顺序。
function Awake() { Debug.Log("--222------Awake"); } function Start () { Debug.Log("---111---------Start"); } private var isUpdate:boolean = true; function Update() { if(isUpdate) { Debug.Log("-222---------Update"); isUpdate = false; } } private var isLateUpdate: boolean = true; function LateUpdate() { if(isLateUpdate) { Debug.Log("---222---------isLateUpdate"); isLateUpdate = false; } }
在一个脚本的Awake方法中加入如下代码:
function Awake() { Debug.Log("--222------Awake"); GameObject.CreatePrimitive(PrimitiveType.Cube); }
在另一个脚本中Start方法中做如下修改:
function Start () { Debug.Log("---000---------Start"); Debug.Log("---000---------"+GameObject.Find("Cube").name); }
后加的2行代码告诉我们如果在脚本中创建GameObject要在Awake方法中创建,在Start方法中取出,因为程序会先执行所有脚本的Awake方法,之后再执行所有脚本的Start方法。