所以我有一个名为Enemy,Player和Gamemanager的课程。我设置了Unity Hierarchy系统(在Unity的左侧,名称为" Hierarchy"),如下所示:
Enemy (1)
Enemy (2)
Enemy (3)
Enemy (4)
Enemy (5)
Player (1)
GameManager;
但是当我把void Start () { Debug.Log(this);}
(在每个班级上)放进去时,我得到了这个
Enemy (1)
Enemy (5)
Enemy (3)
GameManager;
Enemy (2)
Player (1)
Enemy (4)
是什么给出的?如果在加载对象时它没有改变,那么层次结构系统的重点是什么?无论如何我可以做到这一点,所以当我void Start (Debug.Log(this))
时,我可以获得第一个结果吗?
答案 0 :(得分:1)
如果您遵循良好的编程习惯,执行顺序无关紧要。
但是,有很多初学游戏开发人员使用Unity,这可能解释了为什么他们将脚本执行顺序添加到项目设置中。
默认情况下,Awake,OnEnable和Update功能不同 脚本按脚本加载的顺序调用(即 任意)。但是,可以使用。修改此顺序 脚本执行顺序设置(菜单:编辑>项目设置> 脚本执行顺序)。
此处提供更多信息: http://docs.unity3d.com/Manual/class-ScriptExecution.html