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

在我的世界里,有一个角色始终朝向鼠标方向。当玩家前进或后退时,角色的 x 坐标等于其当前的 x 坐标加上(或减去)其 x 坐标的余弦值,并且 y 坐标也是同样的方式,但使用正弦值。具体实现如下:

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

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

但是如果我希望玩家也能向侧边跑呢?

点赞
用户2765603
用户2765603

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

2015-06-07 06:42:54