我试图创建一个爆炸,当某个物体被击中时,附近半径内的物体也会被摧毁。例如,在破砖游戏中,球击中砖块,然后砖块爆炸,但也会在各个方向爆炸 2 个砖块。如何实现?任何帮助表示赞赏。
问问题
286 次
1 回答
0
有很多方法可以做到这一点,但 spritekit 方法是创建一个爆炸精灵节点。您可以根据需要使用 SKAction 对其进行动画处理,并使用与其他精灵相同的 SpriteKit 物理接触逻辑。
为爆炸节点添加物理接触类别位掩码。当发生应该创建爆炸的事件时,调用在事件点创建爆炸节点的方法。将爆炸节点位置设置为该点。将任何动作添加到爆炸节点。将爆炸节点添加到场景中。它的动作将运行。在物理接触委托方法中,didBeginContact:您测试与应该对接触爆炸节点做出反应的类别的任何节点的接触。如果建立联系,基本的事情是告诉联系的节点removeFromeParent。一旦你有这个工作,你可以得到幻想。
您的爆炸节点可能应该得到一个基于 CGPath 的圆形物理体。
您可能应该尝试将其放大和缩小的操作。您可以通过在删除其他节点之前添加提供动画、声音等的动作来破坏其他节点,从而变得更加复杂。如果它们是自定义子类,那么现在是定义方法名称的协议被炸毁和删除的好时机。然后让每个类实现它。听起来像工作,但保持你的游戏逻辑代码干净。
这个整体过程将是常见的,你会熟悉的。
于 2014-07-25T03:40:51.040 回答