我正在尝试用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语句,我无法弄清楚原因。显然,我会在那里找到一些方程式,但我希望在我继续之前让这个跳跃执行。
答案 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
。