在使用libGDX时,我注意到偶尔我画到屏幕上的纹理没有被绘制到确切的像素上,而是从各个边上的其他纹理的边缘的小部分绘制(例如,来自头发顶部的像素线正被呈现在玩家脚下)。为什么我的libGDX TextureAtlas不正确地渲染spritesheet纹理?
当我扩展我的比赛,以不同的大小,黑色线条出现在从我只能假设是相邻的纹理两侧。
试图呈现从TextureAtlas文件中的文本字段的字体,当我得到了同样的问题。
我使用Nearest Neighbor从TextureAtlas加载这些纹理。这里是我的精灵表,这些都是我的TextureAtlas从精灵表
player.png
size: 64, 128
format: RGBA8888
filter: Nearest,Nearest
repeat: none
player1moveDown
rotate: false
xy: 0, 0
size: 10, 16
orig: 10, 16
offset: 0, 0
index: 1
player1moveDown
rotate: false
xy: 10, 0
size: 10, 16
orig: 10, 16
offset: 0, 0
index: 2
player1moveDown
rotate: false
xy: 20, 0
size: 10, 16
orig: 10, 16
offset: 0, 0
index: 3
作出选择,是否有任何合理的解释,为什么我的TextureAtlas没有完全切断了图像?
作为一个后续问题,有什么我可以做的解决它,或者我应该在每个纹理周围添加一些透明填充?
编辑: 我在GUI TexturePacker中找到了该设置。在窗口的右侧,在“雪碧”,你可以通过修改“形状填充”值