Xcode 精灵套件快速跳跃角色

Xcode 精灵套件快速跳跃角色,xcode,swift,Xcode,Swift,现在,我正试图用冲动/力量让我的角色跳跃。我用的是重力,所以看起来像是在跳跃,但是随着时间的推移,跳跃的大小是不同的。下面是我试图使角色跳跃的代码,但当我这样做时,它不起作用 这是我现在的跳转代码: func Bigpersonjump () { BigPerson.physicsBody?.velocity = CGVectorMake(0.0, 0.0) BigPerson.physicsBody?.applyImpulse(CGVectorMake(0.0, 10.0))

现在,我正试图用冲动/力量让我的角色跳跃。我用的是重力,所以看起来像是在跳跃,但是随着时间的推移,跳跃的大小是不同的。下面是我试图使角色跳跃的代码,但当我这样做时,它不起作用

这是我现在的跳转代码:

func Bigpersonjump () {
    BigPerson.physicsBody?.velocity = CGVectorMake(0.0, 0.0)
    BigPerson.physicsBody?.applyImpulse(CGVectorMake(0.0, 10.0))


    println("Detected")

}

Here is the code for spawning the character:

self.BigPerson = SKSpriteNode(imageNamed: "1")
         //self.BigPerson = SKSpriteNode(texture: BigPersonTexture)
        self.BigPerson.size.height = self.size.height / 8
        self.BigPerson.size.width = self.size.width / 13
        self.BigPerson.position = CGPointMake(CGRectGetMidX(self.frame) / 2 ,             self.frame.size.height / 2.2)


        self.BigPerson.zPosition = 9
        BigPerson.physicsBody = SKPhysicsBody(rectangleOfSize: BigPerson.size)
        BigPerson.physicsBody?.usesPreciseCollisionDetection = true
        BigPerson.physicsBody?.dynamic = false
        BigPerson.physicsBody?.categoryBitMask = BodyType.BigPersonCategory.rawValue
        BigPerson.physicsBody?.allowsRotation = false
        BigPerson.physicsBody?.collisionBitMask = BodyType.ScoreCategory.rawValue
        BigPerson.physicsBody?.contactTestBitMask = BodyType.ScoreCategory.rawValue


        var distanceToMove = CGFloat(self.frame.size.width + 2.0 * BigPerson.size.width)
        var moveBigPerson = SKAction.moveByX(distanceToMove * 5.3, y: 0.0, duration: NSTimeInterval (0.02 * distanceToMove))
        BigPerson.runAction(moveBigPerson)
        BigPerson.runAction(LeftSideRunning)
        self.addChild(self.BigPerson)

对于真实的跳跃,您只需要使用applyImpulse,而不需要使用SKActions(例如,在用户点击时)。 物理体应该是动态的(在你的代码中它是假的)。 检查脉冲值的不同值,因为您的身体可能太重。 另外,请检查身体和表面的摩擦力值(正如我在代码中看到的,你们试图水平移动它)。
还可以尝试不同的方向,可能是您试图跳转到错误的方向。

它怎么办?如果使用applyImpulse,为什么要将physicsBody.dynamic设置为false?我将dynamic重置为true,当它应该跳转时,它什么也不做。