Libgdx - 旋转的身体看起来像素化

时间:2014-10-24 00:52:16

标签: libgdx draw angle smooth spritebatch

我有这个问题让我疯了!

所以,当我在SpriteBatch上绘制一个角度不等于零的boxshape体时(甚至在Box2DDebugRenderer上也是如此),身体在我的计算机屏幕上看起来像素化了。即使我在手机中运行应用程序,此问题仍然存在。我一直在寻找(很多)这个,我还没有找到解决这个问题的方法。大多数有类似问题(没有角度)的人通过将.setFilter更改为LINEAR来找到解决方案,但这对我没有任何作用。

我试图在这里提出问题的图像,但显然我需要10分:(

所以这里是图片链接:) http://postimg.org/image/xgeqttpvd/

如果您知道解决方案,我真的很感激!!!!!!!!!

1 个答案:

答案 0 :(得分:2)

您正在看到精灵矩形边缘的锯齿。你有两个选择。第一个是打开抗锯齿,你可以在桌面启动器和android启动器(不在核心项目中)中这样做:

AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.numSamples = 4; //or 2 or 8 or 16
initialize(new MyGdxGame(), config);

或在桌面上:

LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.numSamples = 4; //or 2 or 8 or 16
new LwjglApplication(new MyGdxGame(), config);

但是,如果您的游戏中有很多精灵,这在手机上的效果不会很好。更好的方法是制作一个内置透明边框的精灵。像这样(来自Gimp的截图显示透明度:

enter image description here

然后,如果使用LINEAR过滤,它将清理边缘,因为可见边缘在精灵内部,而不是与实际多边形对齐。请注意,您必须将精灵调整为略大于box2d的身体,以便在视觉上与身体相匹配。