【发布时间】:2014-06-30 19:44:14
【问题描述】:
只是在玩 SpriteKit 和 Swift,我正在做一个小方块跳跃。
我不明白怎么做,但我想避免触摸时多次跳跃:如果我在立方体飞行时触摸屏幕,它会再次跳得更远......
我让玩家跳上touchesBegan
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
player.jump(Float(self.timeSinceLast))
}
方法jump()是
func jump(timeSinceLast: Float) {
self.sprite.physicsBody.applyImpulse(CGVector(0, self.jumpingForce * timeSinceLast))
}
我尝试在调用touchesBegan() 之前设置一个布尔值isJumping 并在jump() 中检查它,但没有成功...
func jump(timeSinceLast: Float) {
if !self.isJumping {
self.isJumping = true;
self.sprite.physicsBody.applyImpulse(CGVector(0, self.jumpingForce * timeSinceLast))
self.isJumping = false;
}
}
这段代码有什么问题?谢谢您的帮助! :-)
【问题讨论】:
标签: swift sprite-kit