你的obj如果是脚本挂载的GameObject的话,使用obj.activeSelf第一次会把GameObject设为inactive,然后就不会再有下一次update调用了,脚本的update只有在GameObject处于active状态并且脚本为enable时才会被调用
gameObject.SetActive(bool b);
的API:
一旦物体被隐藏gameObject.SetActive(false);
,则其无法通过通过gameObject.SetActive(true);
再显示出来,因为一旦被隐藏之后,表示这个物体已经不在场景中了,用代码GameObject.Find();
也找不到 ,本隐藏物体挂载的代码也被禁用,即Update
也不会执行,
解决办法:
把脚本挂载在别的物体身上,操作要隐藏的物体,这样就可以通过gameObject.SetActive(true);
再次激活