0

我试图在不使用 jquery.animation 的情况下让 pacman 移动,因为我想要更多的控制权。所以我使用 setInterval,但它有时只有效。如果你刷新足够多,它最终会“点击”并正常工作,但如果你再次刷新,它就不起作用了,这里http://pacman.townsendwebdd.com如果你想看的话,谢谢

//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);
},
4

1 回答 1

1

我不确定这是否能解决问题,但我建议使用请求动画帧而不是 setInterval。

我认为问题的另一件事(我也被这个问题刺痛了)是您可能试图在页面完全加载之前启动动画。尝试将您的代码放入一个函数并使用body 标签的 onload 属性调用它。

祝你好运!

格里福克。

于 2013-02-27T00:55:49.660 回答