我在Android上使用Monogame和Xamarin创建简单的RPG游戏,我的瓷砖有问题。
我使用的是16x16的图块,但我将它缩放到32x32,我创建了简单的地图编辑器,我可以创建地图并转换为JSON格式。
但是在游戏中加载地图之后我看到了瓷砖之间的线条,这些线条显示了对象应该略微透明的位置 https://i.imgur.com/R9azGQo.png
加载地图
using (var stream = TitleContainer.OpenStream(path2))
{
spriteSheet2 = Texture2D.FromStream(graphicsDevice, stream);
}
currSprite = 2;
for (int y = 0; y < spriteSheet2.Height; y += 32 + 2)
{
for (int x = 0; x < spriteSheet2.Width; x += 32 + 2)
{
objects[currSprite].Add(new Rectangle(x, y, 32, 32));
}
}
using (var stream = TitleContainer.OpenStream("Content/x.png"))
{
test = Texture2D.FromStream(graphicsDevice, stream);
}
我调试它并在spritesheet中的任何地方使用GIMP 在地图编辑器中,我没有看到这一行,我怎么能解决它? 我有相同的代码在地图编辑器和游戏中加载spritesheet,在spritesheet中我有2px的边距beetwen tiles。
(我必须用图片创建相册,因为我不能提供两个以上的链接) http://imgur.com/a/RlPKo
将代码中的边距更改为1px后的图像 (参见专辑中的第一张图片)
将瓷砖尺寸更改为31x31后的图像 (参见专辑中的第二张图片)
我在spritesheet中获得位置地砖并使用gimp我检查了边距是否太小,我缩放到这个瓷砖 (参见专辑中的第三张图片)
当我将矩形地砖设置为273,69并将尺寸更改为30,30时(我在瓷砖中没有透明线条的位置矩形,但为什么透明线在游戏中有白色?)时,我可以消除白线。 ) (参见专辑中的最后一张图片)
我通过消除瓷砖透明来修复地板,我如何快速修复所有瓷砖?