Unity删除物体组件(Destroy⽤法)
⽂章⽬录
1.前⾔
针对于使⽤Instantiate直接⽣成的GameObject,其中包含了前物体的碰撞体(MeshCollider),⽽这个组件与当前⽣成的新物体是不搭
的,故需要重新⽣成。
2.解决办法
2.1Destroy()⽤法:
直接⽤Destroy函数
//直接删除物体
Destroy(Object);
//定时删除物体Destroy(待删除物体,执⾏等待时间);
Destroy(Object,2);
//删除物体上挂载的脚本即当前脚本
Destroy(this);
//删除某⼀个组件(不局限于脚本因脚本也是⼀种组件)
Destroy(ponent
//⽴马删除物体
DestroyImmediate(Object);
//跳转场景时不删除某物体
DontDestroyOnLoad(Object);
注意Destroy()并⾮⽴即执⾏,如需要⽴即对销毁操作执⾏,应采⽤DestroyImmediate()
2.2代码
采⽤Destroy()⽅法进⾏删除,再重新根据具体Mesh创建MeshCollider组件
//重新⽣成MeshCollider
Destroy(ponent
ponent
3.补充
除了销毁物体,还可以将物体设置为不显⽰,这样做的好处在于,可以随时将物体重新“召唤”回到场景中。
ive(fal);//设置不显⽰
ive(true);//设置显⽰
本文发布于:2023-01-20 14:02:28,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/101623.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |