Javascript / HTML5游戏开发 - 实现简单的跳转。第一次工作,而不是之后

时间:2013-02-11 03:54:26

标签: javascript html5-canvas

第一次触发时,这就像魅力一样。但之后它只会在玩家触发的时候增加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;
    }
}

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

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

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

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