javascript动画有时可以工作
我试图让pacman在不使用jquery.animation的情况下移动,因为我想要更多的控制。所以我使用了setInterval,但它只在某些时候起作用。如果你刷新的足够多,它最终会“点击”并正常工作,但如果你再次刷新,它将不工作,如果你想查看它,它就在这里,谢谢javascript动画有时可以工作,javascript,animation,setinterval,Javascript,Animation,Setinterval,我试图让pacman在不使用jquery.animation的情况下移动,因为我想要更多的控制。所以我使用了setInterval,但它只在某些时候起作用。如果你刷新的足够多,它最终会“点击”并正常工作,但如果你再次刷新,它将不工作,如果你想查看它,它就在这里,谢谢 //earlier in the code this.moveInterval = setInterval(_this.move, 40, _this); move: function(_this) { if(_this.
//earlier in the code
this.moveInterval = setInterval(_this.move, 40, _this);
move: function(_this)
{
if(_this.pause)//set to true for now
return false;
var horz = 0;
var vert = 0;
var dir = _this.dir;
//set horizontal and vertical directions
if(dir % 2 == 0)
horz = dir - 1;
else
vert = dir - 2;
_this.top += vert;
_this.left += horz;
$('#pacman').css('top', _this.top);
$('#pacman').css('left', _this.left);
},
我不确定这是否能解决问题,但我建议使用而不是setInterval 我认为另一个问题(我也被这个问题刺痛了)是你可能试图在页面完全加载之前启动动画。尝试将代码放入函数中,并使用调用 祝你好运
Griffork.但它只在某些时候起作用。对我来说,它似乎一直在“工作”,假设“工作”意味着吃豆人在页面上向下移动。是的,你也可以使用箭头键来改变方向,有时他只是坐在那里,张开和闭上嘴,他应该同时做这两件事,移动和进食。我认为,通过点击刷新按钮进行硬刷新效果更好(然后更频繁地停止)我们需要查看您注释掉的代码吗?您使用的是jQuery和Mootools?那是错误的!我在$(document.ready(function(){})中有所有内容;呼叫。我将查看请求动画帧,谢谢。我想我可能应该为此使用画布。您将我的响应标记为答案,您是否真的开始工作了?您上次的评论听起来好像您已经在做我建议的事情:)。另外,在您的主要,您应该更改行
\u this=this
到var\u this=this
这样你就不会创建一个名为\u this
的全局变量,在你的移动函数(pacman.js的第67行)中,你需要对dir进行边界检查,因为如果你按下任何不是箭头键的按钮,那么pacman就会在屏幕上飞来飞去XD。好的,很公平,仍然不起作用。看起来只有当我按F5或单击“刷新”时,它才会偶尔中断。我只是想给canvas和request animation frame一个tryOk,我只是想确保你最终得到问题的答案,人们不太可能来尝试回答这个问题,因为它已经标记为“已回答”。如果可以的话,我建议将这个问题标记为未回答(我自己不知道怎么做,我对这个网站比较陌生)。最坏的情况是你可能需要再问一次(但要重新措辞,这样你就不会回到这里)。干杯,祝你好运!格里弗克。