Unity-销毁函数

1、Destroy动态销毁函数

删除一个游戏对象,组件或者资源。动态(游戏运行中)的删除某个物体,其资源和内存并没有立即被释放掉

C#:

public GameObject testDestroy;

voidUpdate(){

if(Input.GetKey(KeyCode.Space)){

Destroy(testDestroy);

}

}

2  、DestroyImmediate 立即销毁

立即删除一个游戏对象,组件或者资源,其资料和内存会立即被释放掉

C#=>static voidDestroyImmediate(Object obj, bool allowDestroyingAssets = false);

obj Object to be destroyed. 要销毁的对象

allowDestroyingAssetsSet to true to allow assets to be destoyed. 设置为true允许资源被销毁

该函数只在写编辑器代码时使用,因为延时的销毁永远不会在编辑模式下调用。在游戏代码推荐使用Object.Destroy代替。销毁总是延迟的(但在同一帧内执行),小心使用该函数,因为它能永久销毁资源。

c#:

public  Material  test_material;

voidUpdate(){

if(Input.GetKey(KeyCode.Space)){

DestroyImmediate(test_material,true);

}

}


3、DontDestroyOnLoad

当加载一个新场景时,目标对象不会被自动销毁。

当加载一个新的级别时,场景中的所有对象都被销毁,然后在新的水平上的对象被加载。为了水平加载调用dontdestroyonload在保存一个对象。如果对象是一个组件或游戏对象,那么它的整个变换层次结构将不会被破坏。

void Start ( ) {

DontDestroyOnLoad(gameObject);

}

void Update ( ){

if(Input.GetKey(KeyCode.Space)){

//场景转换

SceneManager.LoadScene(1);

}

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容