如何在javascript游戏中获得流畅的运动?

时间:2015-05-28 17:28:42

标签: javascript game-physics

我想用javascript创建一个基于磁贴的RPG游戏,第一个问题就是移动。我想要顺利运动但是现在它在按下一个键时会有一些延迟,然后是另一个键。下面是我的运动代码:

clickedBoxes.Count

2 个答案:

答案 0 :(得分:0)

简单地说,您需要停止为对象使用HTML,并切换到使用<canvas>标记。虽然可以修复当前代码,使其使用CSS tranform相对流畅地运行,但它不能长期解决您的问题,所以要回答标题中的问题:至少使用{{1} (或在某些极少数情况下为<canvas>)并查看为游戏制作的图书馆(game.jscrafty.jspanda.js and many more)。

答案 1 :(得分:0)

这里最直接的问题是变化率函数。当你在超级马里奥的D-pad上按右侧时,按下按钮的处理程序不会使Mario向右移动;它甚至没有将马里奥的速度设置为“1x,0y”。它只是为马里奥设置加速量,以开始在游戏循环的每一帧上增加速度。

在RPG中,你不必像Mario一样关注加速(因为RPG角色倾向于以恒定速率移动而不是加速),但至少只是直接影响速度(而不是位置)是重要。你可以找到很多这样的基本平台游戏指南,没有重力或不断输入的复杂性,它应该相对容易适应RPG。至少,您可能需要使用requestAnimationFrame JavaScript函数在游戏的每毫秒执行某些操作。 (负责任地使用它!更新任何具有过多即时性的东西会导致精灵飞来飞去,你不知道它去了哪里)