在javascript中跳跃动画?

时间:2013-04-21 17:56:43

标签: javascript html5-canvas

我正在尝试用javascript组合一个简单的游戏,但我无法跳跃起来:

function jump()
 {
     isJumping=true;

    var jumpint= setInterval(function() {
    ypos=ypos-5;
    }, 10);
    if(ypos==150)
    {
        isJumping == false;
        clearInterval(jumpint);
        jumpint = 0;
        alert("it works");
        return;

    }

 }

每当我调用此函数时,它会提供动画,并且角色向右移动,但它不会停止。一旦ypos等于150,它就会继续移动并且不执行if语句,我无法弄清楚原因。显然,我会在那里找到一些方程式,但我希望在我继续之前让这个跳跃执行。

1 个答案:

答案 0 :(得分:2)

将if语句放在里面setInterval,否则只执行一次。

var jumpint = setInterval(function() {
    ypos=ypos-5;
    if(ypos==150)
    {
        isJumping == false;
        clearInterval(jumpint);
        alert("it works");
    }
}, 10);

此外,您可能希望将条件更改为ypos <= 150。假设ypos是157.如果你继续减少5,它将变为157 - > 152 - &gt; 147并跳过条件。要修复它,只需将if语句的条件更改为ypos <= 150