0

第一次触发时,这就像一个魅力。但在那之后,它只会在每次触发时将 playerYPos 增加 8。我已经尝试了我能想到的一切,但似乎无法弄清楚为什么。

var playerYPos = 188;
var playerJumpSpeed = 8;
var playerJumpVelocity = playerJumpSpeed;

function jump(){
    playerYPos -= playerJumpVelocity;

    //Hits top
    if(playerYPos < 40){
        playerJumpVelocity = -playerJumpSpeed;
    }
    if(playerYPos >= 188){
        keyW = false;
    }
}

任何帮助表示赞赏!

4

1 回答 1

0

是不是因为playerJumpVelocity下次调用函数时变量没有被重置?IE:

function jump()
{
    var playerJumpVelocity = playerJumpSpeed;
    playerYPos -= playerJumpVelocity;

    //Hits top
    if(playerYPos < 40){
        playerJumpVelocity = -playerJumpSpeed;
    }
    if(playerYPos >= 188){
        keyW = false;
    }
}
于 2013-02-11T21:22:33.040 回答