为love2d游戏加载带有STI的平铺地图时出现问题

问题描述 投票:0回答:3

我已经开发了一个小型 Love2D 游戏一段时间了,并且我的 Tiled 文件遇到了问题,我已经以 Lua 格式导出了 Simple Tiled Imp。尽管我只使用了一个图块集,但尝试加载该文件总是会导致错误“STI 尚不支持图块集合”。我已经四处寻找这到底意味着什么或可能的解决方案的答案,但什么也没找到......任何帮助将不胜感激。 :) (总的来说,我对 Love 和 Lua 还很陌生,如果这是一个菜鸟问题,我很抱歉)

lua love2d tiled
3个回答
0
投票

阅读:使用四边形显示图像的一部分:https://love2d.org/wiki/love.graphics.newQuad
就像本例中一张图像中的不同行星一样......

quads={love.graphics.newImage("planets.png")
}
local assets={x=0,y=0,size=.1,time=-1,
[1]=love.graphics.newQuad(138,33,300,300,quads[1]:getDimensions()),
[2]=love.graphics.newQuad(505,37,300,300,quads[1]:getDimensions()),
[3]=love.graphics.newQuad(871,21,300,300,quads[1]:getDimensions()),
[4]=love.graphics.newQuad(1238,22,300,300,quads[1]:getDimensions()),
[5]=love.graphics.newQuad(1606,15,300,300,quads[1]:getDimensions()),
[6]=love.graphics.newQuad(1974,11,300,300,quads[1]:getDimensions()),
[7]=love.graphics.newQuad(1976,349,300,300,quads[1]:getDimensions()),
[8]=love.graphics.newQuad(136,382,300,300,quads[1]:getDimensions()),
[9]=love.graphics.newQuad(504,379,300,300,quads[1]:getDimensions()),
[10]=love.graphics.newQuad(871,366,300,300,quads[1]:getDimensions()),
[11]=love.graphics.newQuad(1236,362,300,300,quads[1]:getDimensions()),
[12]=love.graphics.newQuad(19,724,300,300,quads[1]:getDimensions()),
[13]=love.graphics.newQuad(1047,698,300,300,quads[1]:getDimensions()),
[14]=love.graphics.newQuad(1376,687,300,300,quads[1]:getDimensions()),
[15]=love.graphics.newQuad(1721,686,300,300,quads[1]:getDimensions()),
[16]=love.graphics.newQuad(2042,684,300,300,quads[1]:getDimensions()),
[17]=love.graphics.newQuad(347,704,660,300,quads[1]:getDimensions())
}
pquads={x=0,y=0,size=1,time=-1}
for i=1,#assets do table.insert(pquads,assets[i]) end

...其中第一对

newQuad(138,33,
是 PNG 图像的左上角位置,最后一对
300,300,quads[1]:getDimensions()),
是单个图块的大小。
瓷砖的位置可以在gimp或photoshop等程序中显示。
只需将光标移动到图块的左上角并查看状态栏即可。


0
投票

来自 Arkane 之前的评论:创建新的图块集时,您需要单击“嵌入地图”标志。


0
投票

啊,缺乏嵌入是我的问题,谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.