我想我错误解释了Unity3d的层次结构系统

时间:2015-09-19 02:49:24

标签: c# unity3d hierarchy

所以我有一个名为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))时,我可以获得第一个结果吗?

1 个答案:

答案 0 :(得分:1)

如果您遵循良好的编程习惯,执行顺序无关紧要。

但是,有很多初学游戏开发人员使用Unity,这可能解释了为什么他们将脚本执行顺序添加到项目设置中。

  

默认情况下,Awake,OnEnable和Update功能不同   脚本按脚本加载的顺序调用(即   任意)。但是,可以使用。修改此顺序   脚本执行顺序设置(菜单:编辑>项目设置>   脚本执行顺序)。

此处提供更多信息: http://docs.unity3d.com/Manual/class-ScriptExecution.html