Framework de LUA2D LUA - Convertir una tabla de representación no organizada en una estructura de mapa

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

  •  12-11-2019
  •  | 
  •  

Pregunta

Estoy convirtiendo un mapa 2D rendido que está desorganizado en una tabla de cadena, por ejemplo, desde:

"render= {{image, 50,60,2}}"

donde la imagen es la imagen (estoy usando el marco LUA2D LUA) 50 es el eje x 60 es el eje y 2 es la ID de la imagen (esto es lo que estará en la tabla real).

Pero hay como 100 de estos, todos no organizados y cosas, y necesito oragnizarlos en un mapa estructurado.

Aquí está la broca extraña: cuando lo transimo en una cadena organizada ... IT .. un poco rota la tabla en un ángulo de 90 * en sentido antihorario.

diciendo que quiero el resultado de

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

obtendría:

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

obviamente no hay error, ya que funciona técnicamente, simplemente gira erróneamente.Aquí está el código relevante:

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 

¿Fue útil?

Solución

Dé un vistazo a mi löve tutorial de azulejos .Sección 1d-strings habla sobre cómo manejar la "X)y y "problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top