广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Unity 学习教程 之 销毁Destroy相关函数注意点

    来源:网络收集  点击:  时间:2024-03-14
    【导读】:
    Unity 学习教程 之 销毁Destroy相关函数注意点。本节介绍,在Unity开发中,使用销毁函数Destroy()和DestroyImmediate()销毁物体的区别和注意事项,具体如下工具/原料moreUnityUnity 学习教程 之 销毁Destroy相关函数注意点1/8分步阅读

    打开Unity,新建一个空工程,具体如下图

    2/8

    在场景中,新建一个“Cube”和“Sphere”,并且调整好他们的布局,具体如下图

    3/8

    在工程中,新建一个脚本,双击脚本或者右键“Open C# Project”打开脚本,具体如下图

    4/8

    打开脚本编写,首先设置两个变量获取物体,然后编写Destroy()和DestroyImmediate()函数,分别销毁并打印,具体代码和代码说明如下图

    5/8

    脚本编译正确,回到Unity界面,在场景中新建空物体“GameObject”,然后把脚本挂载上去,并且把场景中的“Cube”和“Sphere”分别赋值给脚本,具体如下图

    6/8

    运行场景,分别按下“A”和“S”键,场景中“Cube”和“Sphere”都被销毁,控制台上,打印“Cube”和“null”,具体如下图

    7/8

    综上所诉:

    (1)obj并不会立即销毁,而是需要等待下一个Update更新,所以还是可以被print出来;

    (2)DestroyImmediate立即对对像进行销毁,print出来是null;

    (3)Destroy销毁场景中的物体,但内存中还存在,当令它需要销毁时,只是给一个标识。而内存中它依然是存在的,只有当内存不够,或一段时间没有再次被引用时(或者更多合理的条件满足),机制才会将它销毁并释放内存;

    (4)这样做的目的就是为了避免频繁对内存的读写操作。回收器会定时清理一次内存中引用计数为0的对象,很可能你的要销毁的对象在其他地方还有引用而你自己不清楚,直接销毁可能导致其他地方空引用错误;

    (5)建议使用平常Destroy函数,而不是DestroyImmediate函数;

    8/8

    到此,《Unity 学习教程 之 销毁Destroy相关函数注意点》讲解结,谢谢

    注意事项

    建议使用平常Destroy函数,而不是DestroyImmediate函数

    您的支持,是我们不断坚持知识分享的动力,若帮到您,还请帮忙投票有得;若有疑问,请留言

    学习UNITYDESTROY函数注意点
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_353342.html

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号07-13 02:50:29  耗时:0.034