他们说Awake()在Start()之前被调用,但是他们没有提到这些功能是否必须属于同一脚本。
答案 0 :(得分:5)
他们说Awake()在Start()之前被调用,但是他们没有提到是否 这些功能必须属于同一脚本。
场景中的所有Awake()在任何Start()之前被调用。它们所属的脚本无关紧要。除非脚本附加到的GameObject在启动Awake期间处于非活动状态,否则直到GameObject处于活动状态时才调用该脚本。来自https://docs.unity3d.com:
这些功能在场景启动时被调用(场景中的每个对象一次)。
请注意,对于添加到场景中的对象,所有脚本的Awake和OnEnable函数将在调用其中任何一个的Start,Update等之前被调用。自然,当在游戏过程中实例化对象时,就不能强制执行此操作。
有关此here
的更多信息顺便说一句:您没有问过这个问题,但是如果出于某种原因您需要先执行一些脚本,则可以查看此link来了解如何设置脚本的执行顺序(这与脚本的顺序有关,而与每个脚本内的方法的顺序无关)
答案 1 :(得分:0)