0

編成されていない 2D レンダリングされたマップを文字列テーブルに変換しています。EG から:

"レンダリング = {{Image,50,60,2}}"

Image は画像です (私は Love2D Lua フレームワークを使用しています) 50 は X 軸です 60 は Y 軸です 2 は Image 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 に答える