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
我正在用 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