旋转相机但渲染精灵,使它们出现在原始世界位置

时间:2017-05-25 19:57:22

标签: camera libgdx rotation location sprite

TLDR:我想旋转相机但是渲染精灵的世界位置而非相机位置。

你好

我目前正在使用LibGDX,并且在相机/对象旋转方面遇到了一个问题。

假设我的相机旋转为0,相机中心左侧有一个物体(精灵)。

即。 Camera Normal (0 degrees rotation)

当给定标准世界坐标时,精灵呈现正常,但是一旦我旋转相机,该世界坐标就会与相机的新(x,y)值不同。

如果我然后将相机平滑地向右旋转90度(顺时针方向使得向上方向朝向右侧,如下图所示),那么左边的对象(精灵)应该模拟左边关于相机的旋转(旋转通过相机进行,精灵只需更新位置),现在低于相机的中心点。

即。 Camera Rotated (90 degrees clockwise)

我对如何在平滑旋转期间计算精灵的新位置/位置感到困惑。

干杯, 独奏家。

1 个答案:

答案 0 :(得分:0)

在找到解决这个问题的地方三周之后,我只需要调用这个方法

batch.setProjectionMatrix(camera.combined);

为了将精灵更新到他们关于更改相机旋转的新位置。

此链接here说明了投影矩阵的工作原理。