0

我正在将未组织的 2D 渲染地图转换为字符串表,例如:

“渲染 = {{Image,50,60,2}}”

其中 Image 是图像(我使用的是 Love2D Lua 框架) 50 是 X 轴 60 是 Y 轴 2 是图像 ID(这是实际表格中的内容。)

但是其中大约有 100 个,都是杂乱无章的东西,我需要将它们组织成一个结构化的地图。

这是奇怪的一点:当我把它变成一个有组织的字符串时..它..有点逆时针旋转桌子 90* 角。

说我想要结果

{ 
{7,6,5}, 
{6,5,4}, 
} 

我会得到:

{ 
{5,4}, 
{6,5}, 
{7,6}, 
} 

显然没有错误,因为它在技术上有效,只是旋转错误。以下是相关代码:

function OrganiseRenderIntoMap() 
    MapString = "" 

    Map2 = {} 
    MaxSoFarX = 0 
    MaxSoFarY = 0 
    for _,v in pairs(Render) do 
        if v[2] > MaxSoFarX then 
            MaxSoFarX = v[2] 
        elseif v[3] > MaxSoFarY then 
            MaxSoFarY = v[3] 
        end 
    end 

    for currx = 0, MaxSoFarX, 32 do 
        Map2[currx] = {} 
        MapString = MapString.."{" 
        for curry = 0, MaxSoFarY, 32 do 
            MapString = MapString..GetRenderPos(currx,curry).."," 
            Map2[currx][curry] = GetRenderPos(currx,curry) 
        end 
        MapString = MapString.."},\n" 
    end 

    return MapString 
end 


function GetRenderPos(locx,locy) 
    for _,v in pairs(Render) do 
        if v[2] == locx and v[3] == locy then 
            return v[4] 
        end 
    end 
end 
4

1 回答 1

2

看看我的LÖVE 瓷砖教程。第1d-Strings节讲述了如何处理“交换 x 和 y”问题。

于 2011-03-28T10:08:30.430 回答