2D-Array von C++ an Lua (und zurück) übergeben
-
Guten Abend,
Ich stoße hier gerade auf ein Problem mit Lua, Google liefert dazu jedoch
höchst unterschiedliche Implementierungen zur Übergabe von normalen Arrays,
zur Übergabe von 2D finde ich garnichts..Woraus ich mir jetzt folgende beiden Funktionen gebastelt habe die den Array
auf den LuaStack pushen bzw. wieder poppen. (der Array liegt in folgender
Form vor: int **Field[x][y])void GameField::Push(lua_State *L) { lua_newtable(L); for(int i=0; i < x; i++) { lua_newtable(L); for(int j=0; j < y; j++) { lua_pushnumber(L,Field[i][j]); //Value lua_rawseti(L, -2, j); //Key } } } void GameField::Pop(lua_State *L) { lua_gettable(L,-1); for(int i = 0; i < x; i++) { lua_gettable(L,-1); for(int j=0; j < y; j++) { lua_rawgeti(L,1,j); Field[i][j] = lua_tonumber(L,-1); } lua_pop(L,1); } }
Mir ist eigentlich klar dass das falscher Code ist, da ich beim programmieren
mehr oder weniger geraten habe, und mich mit lua erst seit 2 Tagen beschäftige.
Entsprechend produziert der Code nur Müll (und Fehler).Ich hoffe jemand von euch kann mir einen kleinen BeispielCode posten wie das Ganze zu lösen ist.
Bzw. die richtigen Funktionen die ich benutzten muss zu posten reicht auch schon (hoff ich).
-
*PUSH*
Hat keiner einen Tipp für mich?