Framework de LUA2D LUA - Convertir una tabla de representación no organizada en una estructura de mapa
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
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.