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



在我的世界里,我有一个字符,它总是朝着鼠标旋转。

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

:

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

但如果我还想让玩家横着跑呢?

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

相关内容

  • 没有找到相关文章

最新更新