为什么我的角色在2D侧面卷轴中无法平稳移动?

时间:2019-07-11 16:31:51

标签: javascript html5-canvas game-development

当我按下向右和向左箭头键时,而不是按预期的方式向左和向右移动,而在我一直按下按钮的同时,角色会向前抽动,停止并重新启动。

我将整个游戏放在这里:https://codepen.io/alexis-lee-ann-stockdale/pen/qzvrop

我认为问题出在更新功能或按键功能中。

这是我在update函数中编写的用于移动字符的代码:

    game.player.y += game.player.vely;
    game.player.posx += game.player.velx;
    game.player.velx *= game.world.friction;
    game.player.vely += game.world.gravity;

如果这个问题太难回答了,请您指出一个我可以使用的辅导服务吗?预先谢谢你。

1 个答案:

答案 0 :(得分:1)

据我所知,停止和重新启动行为的原因是按键重复。您正在听keydown事件,按下该键时会触发此事件,然后每次操作系统在按住该键时重复一次都会触发此事件。

您需要做的是只要按下键就向右或向左移动。您需要keep track of when a key is pressed and released,不幸的是,没有一种更简单的方法。