我做出LibGDX 2D遊戲和玩家的移動系統是非常簡單的:儘管相機在LibGDX中旋轉,如何在固定的方向移動播放器?
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]並將它向相反的方向旋轉,然後通過該矢量移動玩家 – 5tingr4y