微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

岩石拒绝适当分裂

如何解决岩石拒绝适当分裂

基本上,当玩家与岩石碰撞时,岩石应分裂成较小的岩石。取而代之的是,岩石会创建一个新的岩石,该岩石更小,然后变成更大的岩石,为什么要这样做呢?

func split():
    if scale.length() > 1:
        for i in range(1,2):
            var offset = Vector2(cos(i * PI / 4),sin(i * PI / 4))
            var child = rock.instance()
            child.scale = scale/4
            child.position = position + offset * scale
            child.vel = vel + offset
            get_parent().add_child(child)
    get_parent().remove_child(self)

完整来源here

编辑:我找到了解决方法。当我最初发布此内容时,我使用_ready()设置新岩石的属性,但我没有意识到在创建新实例时未调用函数 ,所以当我创建一个孩子时例如,在我更改它们之前没有设置这些属性,但是在将子级添加到父级场景之后才进行设置。因此,要解决此问题,我只需将_ready更改为_init即可解决问题。

解决方法

范围包括低端和高端。

因此,for i in range(1,2)使您的循环只有一个迭代。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。