在我的世界中,我有一个总是朝着鼠标旋转的角色。
当玩家向前或向后移动时,角色的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
但是,如果我也希望让玩家横向移动呢?
答案 0 :(得分:1)
如果你想侧向移动,你可以在计算sin / cos速度向量之前,在你的r
中简单地加或减90度(弧度,即π/ 2)。