Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 为love2d游戏加载带有STI的平铺地图时出现问题_Lua_Love2d_Tiled - Fatal编程技术网

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

Lua 为love2d游戏加载带有STI的平铺地图时出现问题,lua,love2d,tiled,Lua,Love2d,Tiled,我在一个小的Love2D游戏上工作了一段时间,遇到了一个问题,我的平铺文件以Lua格式导出用于简单平铺Imp。尝试加载该文件总是导致错误“STI不支持平铺集合”,尽管我只使用了一个平铺集。我到处寻找这到底意味着什么的答案,或者可能的解决方案,但什么也没找到。。。任何帮助都将不胜感激。:) (总的来说,我对Love和Lua真的很陌生,如果这是一个有点愚蠢的问题,我很抱歉)以下是你可以做的: 在任何websearch中输入“STI尚不支持磁贴收藏”。例如,生成一篇回答您问题的论坛帖子 它告诉您需要创

我在一个小的Love2D游戏上工作了一段时间,遇到了一个问题,我的平铺文件以Lua格式导出用于简单平铺Imp。尝试加载该文件总是导致错误“STI不支持平铺集合”,尽管我只使用了一个平铺集。我到处寻找这到底意味着什么的答案,或者可能的解决方案,但什么也没找到。。。任何帮助都将不胜感激。:)
(总的来说,我对Love和Lua真的很陌生,如果这是一个有点愚蠢的问题,我很抱歉)

以下是你可以做的:

在任何websearch中输入“STI尚不支持磁贴收藏”。例如,生成一篇回答您问题的论坛帖子

它告诉您需要创建一个

第二次点击:

断言(tileset.image),“STI不支持磁贴集合。\n” 需要创建纹理图谱。”)

因此,当任何tileset没有
图像
字段时,会触发此错误消息

我还没有检查历史记录,所以我不确定您是否使用了该模块的过时版本,或者您是否只是没有阅读完整的错误消息来告诉您该怎么做

您需要创建纹理图谱


可以使用纹理图集生成器创建纹理图集。同样,websearch是您的朋友。

阅读:使用四元组显示图像的一部分:
就像这个例子中一张图片中的不同行星

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图像中的左上角位置,最后一对
300300,quads[1]:getDimensions()),
是单个平铺的大小。
瓷砖的位置可以在gimp或photoshop等程序中显示。

只需将光标移动到互动程序的左上角,然后查看状态栏。

谢谢您的回答。我确实读了错误消息,但我不理解它。事实上,我使用了一个tileset(我在openpixelproject.com上找到的一个.png)并用它制作了一张地图。然后我将这个地图导出到一个.lua文件中。也许我没有理解什么是地图集,我不理解错误。瓷砖集图像和地图集之间有什么区别?我不知道,我想做一些研究会很快回答这个问题。我发现了,问题是我将瓷砖集作为外部地图集加载。我不得不将它嵌入到地图中,这样(我猜)lua文件就包含了所有的信息,而没有指向几条信息的路径。