因此,我有一个名为“敌人”,“玩家”和“游戏管理员”的类。我像下面这样设置我的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/