use*_*015 11 java textures sprite tile libgdx
所以即时通讯使用libgdx,制作平台游戏.我使用方形瓷砖作为平台,但是当它们被绘制时,它们中的一些在它们之间有间隙.当我放大/缩小或移动相机移动间隙移动位置.有没有人有同样的问题或知道如何解决它?
更多细节.瓷砖的尺寸为32,并且已经尝试了32和64的纹理.瓷砖排列成32个例如.第一个图块将是x = 0 y = 0秒x = 32 y = 0,并且在x和y方向上都是如此.差距不是纹理假象,因为我已经检查了很多次.使用带填充的纹理包.我最好的猜测是,将纹理转换为屏幕坐标是一个问题,但实际上根本不知道如何解决这个问题.我以为这个问题以前出现过,但在任何地方找不到任何修复.我已经检查并用瓷砖尺寸仔细检查了我的精度并将它们排成一行.
任何帮助将非常感激.谢谢.
小智 11
这是另一个迟到的帖子,但我刚开始使用LibGDX,我遇到了同样的问题.我通过将TexturePacker.Settings类的duplicatePadding字段设置为true来修复它.
示例代码:
import com.badlogic.gdx.tools.texturepacker.TexturePacker;
import com.badlogic.gdx.tools.texturepacker.TexturePacker.Settings;
Settings settings = new Settings();
settings.maxWidth = 1024;
settings.maxHeight = 1024;
settings.duplicatePadding = true;
TexturePacker.process(settings, "source", "destination", "name");
好吧,我来这里救你的一天!
该解决方案称为"边缘填充".现在,如果您正在使用tilesets,我可以向您保证这将有效.
就个人而言,我正在使用Tiled,它允许我调整我的tilesets中的边距和间距.唯一的缺点是你必须使用GIMP这个插件:http://registry.gimp.org/node/26044
这个插件可以让你在你的瓷砖集上应用边缘填充!没有更丑陋的文物.