Um z.B. die Darstellung von Buttons an niedrigere Bildschirmauflösungen anzupassen, brauchen wir Funktionen, die es uns ermöglichen width & height eines SDL_GameObjects (auch Button) über ein Lua Skript zu verändern.
Um dies zu implementieren müssen in den Registrations der betroffenen Klassen neue Methoden hinzugefügt werden. Sowohl getter und setter Methoden müssen für width & height der Objekte erstellt werden.
Setter:
Die Referenz auf das Objekt muss mit Hilfe von checkAndGet...() aus den Argumenten vom Lua-Stack geholt werden.
Der int Wert für jeweils Breite oder Höhe muss mit lua_tointeger() aus den Argumenten vom Lua-Stack geholt werden.
Die Breite/Höhe muss über eine Funktion setWidth()/setHeight() dem Objekt übergeben werden. (Anmerkung: Die setter-Funktionen müssen für SDL_GameObject implementiert werden)
Getter:
Die Referenz auf das Objekt muss mit Hilfe von checkAndGet...() aus den Argumenten vom Lua-Stack geholt werden.
Die Breite/Höhe des Objekts muss mit Hilfe von "lua_pushinteger()" auf den Stack gepusht werden.
return 1; gibt an, dass ein Wert von der Funktion zurückgegeben wird.
Zum Schluss:
Die Methoden in der Funktion registerToLua() zu regs hinzufügen!!!
Um z.B. die Darstellung von Buttons an niedrigere Bildschirmauflösungen anzupassen, brauchen wir Funktionen, die es uns ermöglichen
width
&height
einesSDL_GameObject
s (auchButton
) über ein Lua Skript zu verändern.Um dies zu implementieren müssen in den Registrations der betroffenen Klassen neue Methoden hinzugefügt werden. Sowohl getter und setter Methoden müssen für
width
&height
der Objekte erstellt werden.Setter:
checkAndGet...()
aus den Argumenten vom Lua-Stack geholt werden.int
Wert für jeweils Breite oder Höhe muss mitlua_tointeger()
aus den Argumenten vom Lua-Stack geholt werden.setWidth()
/setHeight()
dem Objekt übergeben werden. (Anmerkung: Die setter-Funktionen müssen fürSDL_GameObject
implementiert werden)Getter:
checkAndGet...()
aus den Argumenten vom Lua-Stack geholt werden.return 1;
gibt an, dass ein Wert von der Funktion zurückgegeben wird.Zum Schluss:
Die Methoden in der Funktion
registerToLua()
zuregs
hinzufügen!!!