Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “如何顺利行走”;动画";_Javascript - Fatal编程技术网

Javascript “如何顺利行走”;动画";

Javascript “如何顺利行走”;动画";,javascript,Javascript,在我的游戏中,我有一个玩家速度变量(speed=10),如果我按“a”或“d”,玩家将向左或向右移动(player.x+=speed或player.x-=10)。现在的问题是,当我将移动速度提高到20或更高时,玩家会跳到此位置,然后我就没有平滑行走动画 那么我如何解决这个问题呢?通常,您将速度指定为每次的距离 e、 g.速度=10可能意味着每秒10像素 然后你需要做的是每秒迭代多次(通常使用60次),并检查玩家是否按下了方向按钮。如果是这样的话,你就不是每10个像素移动一次播放器,而是每10/6

在我的游戏中,我有一个玩家速度变量(
speed=10
),如果我按“a”或“d”,玩家将向左或向右移动(
player.x+=speed
player.x-=10
)。现在的问题是,当我将移动速度提高到20或更高时,玩家会跳到此位置,然后我就没有平滑行走动画


那么我如何解决这个问题呢?

通常,您将速度指定为每次的距离

e、 g.速度=10可能意味着每秒10像素

然后你需要做的是每秒迭代多次(通常使用60次),并检查玩家是否按下了方向按钮。如果是这样的话,你就不是每10个像素移动一次播放器,而是每10/60个像素移动一次(你必须在播放器位置存储十进制值)


如果重复此操作60次(播放机已按下按钮整整一秒钟),角色将按您指定的10个像素移动

如果播放机每帧移动超过1个像素,则他唯一的选择是
跳转
。不能在两个动作之间添加中间帧,但可以添加一些透明轨迹,使跳跃不那么明显,但更像是一种运动模糊效果。请在问题中包含一个代码示例,并不是说如何修复它,而是使用jQuery使动画制作和翻译变得非常简单。这就是解决方案:)