超超超超超
2016-09-10 14:45
老师你好!
因为我之前有研究过这个问题,比如说在Test1的Start()方法里面为a赋值,然后在Test2的Start()方法里面取a的值,这样的确会收到脚本执行顺序的影响。
但如果我在Test1的Awake()方法里面为a赋值,然后在Test2的Start()方法里取值,就不会出现这样的问题了。因为Awake()方法的调用总是在Start()方法之前的。
所以我有一个疑问,按照我这样的方法来解决,会比较简单点,但会比老师的方法多一个回调;但如果按照老师的方法来,又觉得比较繁琐。
我想问问,视频里的这种方法在实际应用中是否有必要(就是是否有必要节省这一个回调的资源)。
很有必要。因为Awake和Start是有区别的。有些东西只适合写在Start中而不适合写在Awake中。还有就是灵活性的考虑,写在Awake中就好比开发时用Tag值,是写死的,如果有需求变更,就会破坏开放封闭原则,要去修改原本的代码(工作量可能很大)。而改变脚本执行顺序则没有这个问题。 以上是我的观点。。
还真是,确实简单点也有必要 有助于开发效率 不过老师既然是介绍脚本之间的顺序 所以自然而然的就麻烦点 也是可以的嘛
我觉得应该是有必要的
Unity 3D游戏开发之脚本系统
31744 学习 · 26 问题
相似问题