2017-05-25 19 views
0

TLDR:我想旋轉相機,但渲染精靈關於他們的世界位置而不是相機位置。旋轉相機,但渲染精靈,以便它們出現在其原始世界的位置

你好,我目前使用LibGDX並且關於相機/對象旋轉所遇到的問題

說我有我的相機旋轉0,我有一個對象(精靈)在相機的中心左側。

Camera Normal (0 degrees rotation)

給出一個標準的世界座標的時候,然而,一旦我轉動我的相機,即世界座標從相機的新的(X,Y)的值不同的精靈渲染罰款。

如果我然後順利地將相機向右旋轉90度(順時針旋轉,以便向上方向朝下,如下圖所示),過去在左邊的對象(精靈)應該模擬了左旋轉相對於相機(旋轉通過相機發生,精靈需要更新位置),現在低於相機的中心點。

Camera Rotated (90 degrees clockwise)

我很困惑,我該怎樣平穩旋轉過程中計算精靈的新地點/位置。

乾杯, Solist。

+0

如果相機正在旋轉/移動,而物體不是,則物體的世界位置不會改變。 – Tenfour04

+0

可能應該在這種情況下將該對象稱爲精靈。該對象不會移動,但是該精靈將根據攝像機變化的x,y進行渲染。 – Solist

回答

0

到處尋找解決這一問題的3周後,它僅僅是我的需要調用的方法

batch.setProjectionMatrix(camera.combined); 

,以便更新精靈到新的位置在關於改變的事相機旋轉。

此鏈接here解釋了投影矩陣的工作原理。