在LibGDX中,在精灵像素级别而非屏幕像素级别上旋转精灵

时间:2014-08-18 17:32:02

标签: java rotation libgdx scale pixel

我正在制作像素化游戏,我正在尝试旋转精灵。但是,我没有达到我想要的那种旋转效果。

目前,我的精灵在旋转时看起来像这样:

Wrong

如您所见,它旋转相对平稳。你可以看到'大像素'平滑旋转。但是,这不是我正在寻找的旋转效果。相反,这就是我希望它旋转的方式:

Correct 然而,优选地以不会像素那样扭曲像素的方式。你可以看到差异。我希望旋转实际的“大像素”,而不是“屏幕像素”。

我认为问题可能在于如何缩放像素以使其变大。我正在做的是,我正在缩放相机,将它移近它。我想要做的是,像平常一样渲染,然后只是放大屏幕像素。这样我就能自动实现我想要的旋转效果。不过,我不知道该怎么做。

这就是我目前“缩放像素”的方式:

camera = new OrthographicCamera();
camera.setToOrtho(false, 1280 / 4, 720 / 4);

游戏的分辨率是1280x720,因此我将像素设置得更大的方式是我只放大4倍。 然而,我反而想做的是像正常一样渲染,然后将屏幕拉伸4倍。

我将非常感谢您对我如何做到这一点的任何帮助。

1 个答案:

答案 0 :(得分:2)

看看this post。这是一种解决您问题的方法。首先使用最近邻居插值渲染到小帧缓冲区,然后再进行屏幕显示。也许这不是有效的方式,但绝对是实现这种行为的方式。

祝你好运!