游戏中的水平移动(旋转玩家)

时间:2015-06-06 19:50:48

标签: math lua logic love2d

在我的世界中,我有一个总是朝着鼠标旋转的角色。

当玩家向前或向后移动时,角色的x坐标等于它的x坐标减去(或加上)其x坐标的余弦是非常合乎逻辑的。对于它的y坐标也一样,但是不是余弦,而是采用正弦。

喜欢这样:

player.x = player.x + math.cos(player.r) * dt * 120 --forward
player.y = player.y + math.sin(player.r) * dt * 120

player.x = player.x - math.cos(player.r) * dt * 120 --backward
player.y = player.y - math.sin(player.r) * dt * 120

但是,如果我也希望让玩家横向移动呢?

1 个答案:

答案 0 :(得分:1)

如果你想侧向移动,你可以在计算sin / cos速度向量之前,在你的r中简单地加或减90度(弧度,即π/ 2)。