Spritekit:对爆炸节点的所有周围节点应用Angular脉冲

Spritekit: Applying Angular Impulse to all surrounding node of exploding node

我正在用 spritekit 制作一个简单的游戏,屏幕上满是带有物理实体的球。当玩家点击球时,球会爆炸。我想在接触点施加 angular 脉冲,这将像真实世界的爆炸一样将周围的所有球推开。我尝试了场,但它们并不是很好,因为所有物理场节点都是力而不是脉冲。我检查了所有的脉冲方法,但它们只是对节点本身施加力。我也试过这个:

self.physicsBody?.applyAngularImpulse(100)

self.physicsBody?.applyImpulse(impulse: CGVector, at: CGPoint)

认为它会对场景中的所有子节点应用脉冲(所有球都是场景的子节点)但没有效果。

我以为这会很简单,但我没有想法。

感谢您的宝贵时间。干杯

这种方法不是真实世界的爆炸模拟,但可以作为一种想法对您有所帮助。

我正在对每个接触的节点进行这样的操作:

node.run(SKAction.sequence([
    SKAction.fadeOut(withDuration: 0.0),
    SKAction.scale(to: 10, duration: 0.1),
    SKAction.removeFromParent()
]))

你可以在这里得到这个例子:https://github.com/Maetschl/SpriteKitExamples/blob/master/BoxWithBalls/BoxWithBalls/GameScene.swift