Love2d Lua Framework - convertendo una tabella di rendering non organizzata in una struttura mappa

StackOverflow https://stackoverflow.com/questions/5452457

  •  12-11-2019
  •  | 
  •  

Domanda

Sto trasformando una mappa resa 2D che non è organizzata in una tabella di stringhe, ad esempio da:

"Render= {{Image, 50,60,2}}"

dove l'immagine è l'immagine (sto usando love2d lua framework) 50 è l'asse x 60 è l'asse y 2 è l'ID dell'immagine (questo è ciò che sarà nella tabella effettiva.)

Ma c'è come 100 di questi, tutto non organizzato e roba, e ho bisogno di oriagnarli in una mappa strutturata.

Ecco il bit dispari: quando mi trasformi in una stringa organizzata .. .. .. Kinda ruota il tavolo su un angolo di 90 * in senso antiorario.

dicendo che voglio il risultato di

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

Otterrei:

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

Ovviamente nessun errore poiché funziona tecnicamente, ruota semplicemente erroneamente.Ecco il codice pertinente:

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 
.

È stato utile?

Soluzione

Dare un'occhiata al mio Löve tessere Tutorial .Sezione 1d-strings parla di come gestire la "x commutata xe y "problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top