2017-05-25 18 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解释了投影矩阵的工作原理。