에 조직적 렌더링 테이블을 변환, EG은 :Love2D 루아 프레임 워크 -지도 구조
", = {{이미지, 50,60 렌더링 2}} "
이미지는 이미지 (나는 Love2D 루아 프레임 워크를 사용하고 있습니다) (50)는 X 축 (60)이다Y 축 2 이미지 ID (이 실제 테이블에있을 것입니다 무엇을이다 .)
그러나 이것들 (전부가 조직화되지 않은 재료들)이 100 개 있고, 그것들을 구조화 된 맵으로 oragnise해야합니다.
여기에 홀수 비트가 있습니다. 조직화 된 문자열로 변형하면 .. 킨다가 테이블을 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
관련없는 참고 사항 : 코드에서 많은 전역 변수를 사용합니다 (변수는 기본적으로 루아에서는 전역 변수입니다). 또한 독립 실행 형 루아 인터프리터에서 실제로 실행되도록 코드를 수정하면 대답하기가 더 쉽습니다. –