在Keypress HTML Canvas JQuery上,帧速率加倍

时间:2017-05-02 12:54:33

标签: jquery html canvas

出于某种原因,通过按键更改图像时,我的帧速率似乎加倍。动画效果很好,但是当角色被移动很多次时,它们的游戏就变得无法播放了。

1 个答案:

答案 0 :(得分:1)

这是因为您使用的是单个<img>元素,您可以在keydown上更改src

每次加载图像时,它的load事件都会触发,因为在这个加载事件中你开始一个新的animate循环,你的逻辑在每个keydown,在计算机之前快速运行两次由于堆叠了如此多的环路,在同一帧中运行,所以开始断电。

避免它的简单解决方案是在初始化时存储多次只加载一次的图像。

然后,您只需要跟踪哪个图像是要在变量中绘制的图像,并仅更新此变量以指向keydown事件中的其他图像之一。