UE4 c++删除组件

在代码中删除组件很简单,只要DestroyComponent()函数就可以了,使用之前注意引入组件对应类的头文件。

但是遇到一个问题,在细节上犯了个小错误,导致引擎立马奔溃。
删除组件要注意命名
问题重现
1、首先,创建了一个mesh组件。命名伟WeaponMesh01。
2、然后经过了一堆逻辑后,特定条件下,需要删除此组件,于是DestroyComponent了。
3、又在一个特殊的情况下,需要重新再创建mesh组件,于是就CreateDefauSubobject了
4、引擎就奔溃了。

问题原因:一开始,两次创建的组件名称一样,图中划线处,都叫WeaponMesh01。虽然前一个组件已经DestroyComponent,但只是被引擎标记为将来删除,至于什么时候真的被垃圾回收走不一定,所以当创建第二个mesh的时候,命名冲突,不留余地,立马奔溃

教训:下次再有这种增删组件的时候,一定要注意区别命名,尤其是复制的代码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值