因此,我有一个名为“敌人”,“玩家”和“游戏管理员”的类。我像下面这样设置我的Unity Hierarchy系统(在统一的左侧,名称为“ 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))时,我可以做到这一点,以便获得第一结果吗?

最佳答案

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

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


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


更多信息请点击这里:
http://docs.unity3d.com/Manual/class-ScriptExecution.html

关于c# - 我认为我误解了Unity3d的层次结构系统,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32663641/

10-10 17:07