我正在开发一款游戏,我的角色可以从一个陆地跳到另一个陆地。我已经把所有事情都做好了,除了我剩下的问题是,如果你继续点击屏幕,他可以永远跳跃。我希望他必须先落地才能再次跳跃。
import SpriteKit
import GameplayKit
class GameScene: SKScene, SKPhysicsContactDelegate {
struct PhysicsCatagory {
static let Knight : UInt32 = 0x1 << 1
static let land : UInt32 = 0x1 << 2
}
var Knight = SKSpriteNode()
var land = SKSpriteNode(imageNamed: "CJLand4")
这是我当前的代码,让他跳了起来:
Knight.physicsBody?.velocity = CGVector(dx: 0, dy: 0)
Knight.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 325))
我下面有这个touchesBegan
它增加了重力,一冲动就可以让他跳跃。但我只希望他每次落地时都能跳一次。如果可以的话请帮忙。
你可以检查垂直速度是否为0,骑士只有在落地时才会跳跃。这实际上取决于您正在寻找的跳跃类型。
if Knight.physicsBody?.velocity.y == 0 { Jump() }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)