Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的跳跃动画?_Javascript_Html5 Canvas - Fatal编程技术网

javascript中的跳跃动画?

javascript中的跳跃动画?,javascript,html5-canvas,Javascript,Html5 Canvas,我正试图用javascript编写一个简单的游戏,但我无法让跳跃开始工作: function jump() { isJumping=true; var jumpint= setInterval(function() { ypos=ypos-5; }, 10); if(ypos==150) { isJumping == false; clearInterval(jumpint); jumpint

我正试图用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语句,我不知道为什么。很明显,我会在这里给出一些等式,但我想在我继续之前完成这个跳跃

将if语句放在
setInterval
内,否则只执行一次

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

此外,您可能希望将条件更改为
ypos 152->147,并跳过该条件。要修复它,只需将if语句的条件更改为
ypos@peterjevicz没问题!:)@PeterJewicz如果您的问题回答正确,不要忘记接受它(单击复选标记)。如果您正在使用HTML5和
开发游戏,您可能希望使用
requestAnimationFrame
而不是
setInterval