我试图制造一个爆炸,当某个物体被击中时,附近半径内的物体也会被摧毁。例如,在一场碎砖游戏中,球击中一块砖,然后砖块爆炸,但也会在各个方向爆炸2块砖。如何才能做到这一点?任何帮助都是非常感谢的。
发布于 2014-07-25 03:40:51
有很多方法可以做到这一点,但是spritekit方法是创建一个blast sprite节点。您可以使用SKAction根据需要对其进行动画化,并使用与其他精灵相同的SpriteKit物理联系逻辑。
为爆炸节点添加物理接触类别位掩码。当发生应该创建blast的事件时,调用在事件点创建blast节点的方法。将爆炸节点的位置设置为点。向blast节点添加任何操作。将爆炸节点添加到现场。它的行动将继续下去。在物理联系人委托方法中,didBeginContact:您测试是否与任何类别中的节点接触,而这些节点应该对与blast节点的接触做出反应。如果进行了联系,最基本的是将已联系的节点告知removeFromeParent。一旦你有了这份工作,你就会变得很有魅力。
您的blast节点可能会得到一个基于CGPath的圆的物理体。
你可能应该试验一下能上下缩放的动作。在删除其他节点之前,通过添加提供动画、声音等的操作,您可以变得更加复杂。如果它们是自定义子类,那么对于定义方法名称的协议来说,这是一个很好的时机。然后让每个类实现它。听起来像工作,但保持您的游戏逻辑代码干净。
这一整体过程将是常见的,你会熟悉的。
https://stackoverflow.com/questions/24947280
复制相似问题