正常情况下在Monobehaviour类中的Start和OnEnable的执行顺序是先执行OnEnable,然后再执行Start,当然了,OnEnable和OnDisable可以反复执行,而Start只能执行一次。但是最近发现一个bug,最终还是对这个顺序理解的不够好。

        我首先复制了一个Monobehaviour类的对象,然后马上将这个类的enabled设置为false,那么实际上就执行了OnDisable,但这个时候Start就不执行了,而我以为Start依旧会执行,而实际的情况是,当我在某一刻将这个类的enabled设置为true的时候,实际上是第一次执行了OnEnable,然后再去执行Start,所以导致了和我预期完全不同的结果,呵呵,希望能记住这个问题,以后不再犯相同的错误。

04-25 22:45