【发布时间】:2016-01-20 04:40:06
【问题描述】:
我正在使用 SpriteKit 在 Swift 中开发游戏。我有一个带有 SKPhysicsBody 的父节点和几个带有自己物理体的子节点。所有子节点相对于父节点都有一定的速度。给父节点一个速度时如何保持该相对速度?这是显示我正在尝试做的伪代码:
let parent:SKNode = SKNode()
let child:SKNode = SKNode()
parent.physicsBody = SKPhysicsBody()
child.physicsBody = SKPhysicsBody()
parent.addChild(child)
child.physicsBody!.velocity = CGVectorMake(dx: 5, dy: 5)
// child now has velocity
parent.physicsBody!.velocity = CGVectorMake(dx: 10, dy:10)
// parent has velocity, but child velocity is still (5,5)
如何设置子速度以使其保持相对于父速度的速度? (例如,一旦给定父级的速度为(10,10),则子级的绝对速度应变为(15,15),以使其相对于父级保持(5,5))。
我尝试使用 SKPhysicsJoint 但这似乎修复了节点并且不允许速度。有什么解决办法吗? (我确定我忽略了一些明显的东西,但我是 SpriteKit 的新手)
谢谢!
【问题讨论】:
标签: ios swift sprite-kit game-physics skphysicsbody