以下结果为测试结论。
isActiveInHierachy,就是等价于gameObject是否处于激活状态,与简单的理解相同。
isActiveAndEnabled,需要3个条件:
- gameObject的isActiveInHierachy为true
- enabled为true
- 正在或者已经调用OnEnable
所以:
- 在一个脚本的OnEnable中,isActiveAndEnabled永远是true
- 在一个脚本的OnDisable中,isActiveAndEnabled永远是false
测试例子:在场景中放置一个GameObject,下面放两个脚本,设置GameObject和脚本全部都是激活状态。在运行场景的过程中,在先调用OnEnable的脚本中,可以发现自己的isActiveAndEnabled是true,但是另一个脚本的isActiveAndEnabled是false。
所以:还没有调用OnEnable的脚本,虽然gameObject.isActiveInHierachy是true,而且enabled 是true,但是isActiveAndEnabled是false。
以下结果为测试结论。