使用JavaScript/jQuery实现复杂的精灵移动控制

使用JavaScript/jQuery实现复杂的精灵移动控制,javascript,jquery,animation,Javascript,Jquery,Animation,我目前正试图弄清楚如何在没有jQuery以外的额外库的帮助下正确地设置精灵的动画 控制:A代表左,D代表右,空格代表跳转,鼠标左键单击发射 问题是:如果我很快地按左右键,动画就会搞砸,你自己试试吧,因为这有点难以描述混乱 我的代码现在非常零碎,因为我正在使用许多方法,所以请暂时容忍我。如果你想看到html和css,它们在同一个目录中 $(“#obj”)是sprite的对象。我懒得查看代码的链接。如果你说它表现得很疯狂,听起来你并没有在应用下一个动画之前取消动画。在运行下一个动画之前调用 $("#

我目前正试图弄清楚如何在没有jQuery以外的额外库的帮助下正确地设置精灵的动画

控制:A代表左,D代表右,空格代表跳转,鼠标左键单击发射

问题是:如果我很快地按左右键,动画就会搞砸,你自己试试吧,因为这有点难以描述混乱

我的代码现在非常零碎,因为我正在使用许多方法,所以请暂时容忍我。如果你想看到html和css,它们在同一个目录中


$(“#obj”)是sprite的对象。

我懒得查看代码的链接。如果你说它表现得很疯狂,听起来你并没有在应用下一个动画之前取消动画。在运行下一个动画之前调用

$("#obj").stop().animate(...)

我确实终止了动画,但不是使用stop(),而是通过在animate()中向tween参数添加函数来终止动画,因为精灵可以同时设置多个运动的动画(例如,跳跃和水平运动,如果我停止跳跃动画,它仍应保持动画并水平移动。stop()将停止一切,因此它不会真正起作用)。如果我平稳地按键,而不是打碎键盘,它就会工作。但是,如果我以较高的速度按下控制键,似乎命令的执行会出现混乱。