Unity 游戏对象消失 enable,destroy与active的区别

本文详细阐述了在游戏开发中如何使用`gameObject.SetActive(false)`停用物体、`gameObject.SetActiveRecursively(false)`控制子物体状态及`gameObject.Destroy()`用于物体销毁的原理与应用。解释了物体停用后的表现及内存管理细节,同时强调了组件在物体停用后的持续作用。通过实例说明了在不同场景下物体内存释放的过程。

gameObject.SetActive(false):是否在场景中停用该物体,停用后Hierarchy窗口呈灰色,用Find函数也找不到。如果该物体有子物体,要用SetActive Recursirely(false)来控制是否停用。停用后,其添空的(为其他游戏体)组件仍能正常工作。

gameObject.Destroy():表示移除物体或物体上的组件,代表销毁该物体,实际上该物体并没有立即释放,而是在你的下下个场景中释放内存资源,就是你a场景中Destroy之后在c场景中才真正释放该物体的内存资源。

gameObject.render.enabled:是控制一个物体是否在屏幕上渲染或显示,而物体还是实际存在,只是相当于隐身,而物体本身的碰撞体还依然存在。(就Gizmos中的)。

转载于:https://www.cnblogs.com/luxishi/p/5318371.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值