销毁
销毁
1.Destory既可以销毁游戏物体也可以销毁组件。
Destroy方法可以延时执行:Destroy(gameObject,5);
2.DontDestoryOnLoad(transform.gameObject);由A场景切换到B场景,A场景里的游戏物体都会被销毁然后加载B场景里的游戏物体,如果A场景中某个游戏物体调用此方法,该物体不会被销毁,无论怎么切换场景这个游戏物体始终存在。
3.根据类型找游戏物体,不查找未激活的游戏物体
FindObjectOfType
FindObjectsOfType
4.DestoryImmediate:立刻销毁
一般由A场景跳转到B场景的话,A场景物体会全部被销毁,如果物体调用了DontDestoryOnLoad就不会在跳转场景时被销毁。
findObjectsOfType<> 不查找未激活物体
UnityEngine下Object用有的静态方法
静态方法要用类名来调用,不能通过对象调用
Destroy:可以销毁游戏物体,也可以销毁组件
DonDestroyOnLoad:
在A场景跳转B场景时,A中所有游戏物体都会销毁。
调用这个方法的游戏物体可以不销毁,既场景切换时,这个游戏物体始终存在
FindObjectOfType:根据组件类型查找组件,find从全局搜索,如果有多个,只找到第一个返回一个
FindObjectsOfType:找到场景中所有的组件,并返回一个数组(既是静态方法,又是成员方法)
Light light = FindObjectOfType<Light>();
light.enabled = false;//没有灯光了
Transform[] ts = FindObjectsOfType<Transform>();//不查找未激活的物体
foreach (var item in ts)
{
Debug.Log(item);
}
Transform[] ts = FindObjectsofTyp
FindObjectsofType 查找组件(不查找未激活组件)
(())
Destory(gameobject,5); 5s后销毁
DontDestrouOnLoad(gameobject);
FindGameObjectOfType<>()找到<>中的这个组件并返回这个组件(不查找场景中未激活的游戏物体)
Destroy 销毁
FindObjectOfType 查找游戏当中所有物体的组件并返回成数组
Destory (要刪除的東西, 幾秒後刪除)
DontDestoryOnLoad(要保留的東西)
//不讓物體因場景轉換而被銷毀
UnityENgine下Ojbect有的静态方法
Destroy();建议使用这个。
DestroyImmediately();立刻销毁
Destroy(Component),销毁组件,
Destroy(GameObject,时间)
DontDestroyOnLoad(GameObject);转换场景时不会销毁
FindObjectOfType();根据组件类型查找组件,查找到一个满足条件的就返回,剩下的不管。
FindObjectsOfType<组件>();返回所有的
组件 通过enabled 来控制开关。
Transforms[] ts = FindObjectsOfType<Transform>();不查找未激活的物体。
Object 代表所有东西。都可以放进去。
Instantiate(object);
Instantiate(Ojbect,Transform parent);
Instantiate(Object,parent, Space);
Instantiate(Object,position,rotation,);
Instantiate(Object,position,rotation,parent);
Object共有的静态方法(被游戏物体Gameobject和组件Component共同继承的)
Destory():即可以销毁游戏物体,也可以销毁组件
Destoryimmediate():立即销毁,容易导致空指针;
DontDestoryOnLoad(transform.gameObject)
场景切换时不销毁游戏物体(设置共享的游戏物体)
即是静态方法,也是成员方法
FindObjectOfType:根据组件类型去查找组件;
从全局搜索场景中符合条件的组件,找到第一个返回;
FindObjectsOfType: 查找场景中所有符合条件的组件返回;(数组)
Destroy 销毁
DontDestroyOnLoad 不要销毁在场景切换的时候
FindObjectType<组件名称>
Destroy(需要销毁物体或者组件,可选销毁的时间)
DestroyImmediate(立刻销毁物体(不推荐使用))
DontDestroyOnLoad(A场景跳到另一个场景时所不销毁的物体)
FindObjectOfType(根据组件的类型查找相应类型组件)
FindObjectsOfType(找到该场景中所有的组件)
Instantiate(实例化)
Destroy():可以销毁游戏物体和组件;也可等待一段时间后销毁
DontDestroyOnLoad(gameobject):设置共享的游戏物体,再调整场景是不销毁
FindObjectOfType()根据类型获取组件
FindObjectsOfType()根据类型返回组件数组
FindObjectsOfType:查找场景中所有符合这个类型的组建,并返回.查找激活的游戏物体.