【发布时间】:2017-03-15 23:58:27
【问题描述】:
我在 LibGDX 中制作了一个 2D 游戏,玩家移动系统非常简单:
if (Gdx.input.isKeyPressed(Input.Keys.W))
player.setPosition(player.getPosition().x, player.getPosition().y + 100 * delta);
A、S 和 D 键的原理相同。
但是现在,我有一个“醉酒模式”——因此,世界上有一个相机旋转,所以只是:
camera.rotate(MathUtils.random(-50, 50) * delta);
但是如果我在相机旋转时按下 W 键,玩家就不会再直线向上移动了。所以,如果旋转是例如180°,玩家直线向下移动,这其实很符合逻辑。
那么有没有一种方法可以让玩家始终移动,按 W 时向上,按 D 时向右等,无论当前旋转是什么?
提前谢谢你
【问题讨论】:
-
使用一个向量(在你的情况下是 [0, 100] 并将其向相反方向旋转,然后按该向量移动玩家
标签: java android camera libgdx