UE4中删除多个子物体,只能删除一半

    UE4中删除多个子物体,只能删除一半,困惑了我2.5个小时


    在UE4中的画布中添加了很多个子物体,子物体的生成是通过一个forloop生成的。

    添加一个按键事件,按下按键,当画布有子物体时,销毁子物体,当画布没有子物体的时候,则添加子物体。

子物体的数量是有一个固定的值,比如是6。

    我遇到的问题是这样的:添加子物体的时候是完全可以的,但是销毁的时候通过forloop来 remove 画布的child (方法:remove child at)就不行了,比如说我添加了6个子物体,但是,remove的时候只能去除其中一半的子物体,测试了好多次,总以为是index错了,所以就打印出index,结果打印出来的index也没错啊,对应的子物体应该也没错啊,但是就是index错了啊,如果没有错的话,怎么可能删除不了呢?!然后,我就没用forloop一个一个的把子物体去删除,结果还是不行,最后突然灵光一闪,是不是因为删除以后,里面的index就减少了一个呢?比如6个子物体,删除一次以后,剩下的index就只有0-4了呢,再删除一次,就只有0-3了呢?如果是这个逻辑的话,直接写删除六个index为0的子物体不久可以了吗?结果我一试,果然做到了大哭,两个半小时啊,一个新手,没有参考资料,也百度不到!也试过Remove child也不行。

但是问题又来了,只有几个子物体还好,如果子物体有十几个,还要一个个列出来嘛?如果用forloop 来做 index从0到0,也就只执行第一步啊,所以这个方法是有局限性的,说晚了这些终于进入主题了,在走了这么多弯路以后,终于一不小心看到了一个方法,clear children 


以下是正文,上面可以不看:

  

 其实就是一个方法:clear children!用了这个方法,父物体的子物体就全部清除,一步搞定!


这也是蓝图编程的一个缺点,也是一个优点,缺点在于,有的方法往往跟代码编程不一样,自己不好根据代码去找,找不到就要耗费很长时间,但是好处就在于如果你要是找到了,记住了这个方法,以后再用的时候马上就可以用,而且比代码少些很多,所以,需要多学,多记。 希望后来的UE4学习者有点帮助吧。





  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值