3.继承的三根线:
* 脚本-MonoBehaviour-Behaviour-Component-Object
* GameObject-Object
* 组件-Component-Object
* 4.添加/删除/获取组件的方法?
* 获取:GetComponent<T>();
* 删除:Destory(组件对象);
* 添加:AddComponent<T>();
* 5.使物体消失的至少三种方法:
* 1.Destory(gameObject);
* 2.GetComponent<MeshRender>().material.color = new Color(0,0,0,0);
* 3.setActive(false);
* 4.GetComponent<MeshRender>().enabled = false;
*
* 脚本生命周期:Awake-OnEnable-Start-Update-LateUpdate-OnDisable
* Awake(唤醒):1.当一个脚本实例被载入时(将脚本附加给游戏物体)Awake被调用。
* 2.在脚本整个生命周期内它仅被调用一次.
* 3.Awake总是在Start之前被调用
* Start:只在脚本实例被启用时(enabled = true)调用
* OnEnable(当可用):当对象变为可用或激活状态时此函数被调用。
* (物体激活一次/脚本启用一次再次调用)
* OnDisable(当禁用):当对象变为不可用或非激活状态时此函数被调用。
* (物体不激活/脚本不启用再次调用)
* OnDestory:当MonoBehaviour将被销毁时,这个函数被调用。
* LateUpdate:晚于更新(摄像机移动)
*/
//激活不激活:游戏物体前面的勾
//GameObject:setActive();
//activeInHierarchy:在层级面板中是否激活
//activeSelf:自身是否激活(具有父子级关系时,与父物体是否激活无关)
//gameObject.SetActive(false);//不激活状态下,通过查找物体的方式找不到游戏物体
//组件:启用不启用
//this.enabled = false;
//GetComponent<BoxCollider>().enabled = false;
//组件对象.enabled;
//gameObject.SetActive(true);//激活