我正在使用libGDX制作一个小游戏,我制作了一个小的sprite(32x32),它显示在屏幕中央。但是当我将纹理渲染到屏幕上时,它失去了质量。由于纹理非常小,我将屏幕宽度和高度分别设置为200和100。任何提示或答案都将不胜感激。
您的精灵(32x32)需要显示在比32x32更大的区域上,这意味着图像需要进行放大和插值处理(即需要计算32个已知像素之间的像素)。一种常见的方法是使用平滑(通常是线性)插值来填充额外的像素,这对于照片级纹理效果很好;它似乎在这里发生了。 对于像素艺术,您可能希望使用“最近邻”插值。虽然确切的设置方式取决于代码结构,但您可以尝试以下操作: textureObject.setFilter(TextureFilter.Nearest, TextureFilter.Nearest);
textureAtlas = new TextureAtlas("playerSprite.txt");
- playper3playerSprite.txt
需要更新以指示适当的插值。根据您创建文件的方式,您可能需要重新运行创建它的工具。 - nanofarad