Comment on page
Events: register_functions
Die Function register_functions() wird wie new_game() direkt von S4 selber aufgerufen. Hier definiert ihr, welche Funktionen von euch dem Spiel zur Verfügung gestellt werden für die Verwendung bei Events. Ihr nutzt hierbei die Funktion reg_func innerhalb der register_functions() um eine Art "Liste" zuschreiben von Funktionen die später in Events aufgerufen werden sollen.
Um eine von auch registrierte Funktion nun auch einem Event zuzuordnen benötigt ihr noch die Funktion request_event() innerhalb der new_game(). Die häufigsten Events die verwendet werden sind Events.TICK, Events.FIRST_TICK_OF_NEW_OR_LOADED_GAME und Events.VICTORY_CONDITION_CHECK
--setze global eine variable "zahl" mit dem wert 5
zahl = 5
function eineEventFunktion()
--setze bei globaler variable "zahl" den wert auf 10
zahl = 10
end
function tickEventFunktion()
dbg.stm("Hallo, zahl hat den Wert " .. zahl)
end
--bereits behandelt: new_game
function new_game()
-- später mehr zu request_event
request_event(eineEventFunktion,Events.FIRST_TICK_OF_NEW_OR_LOADED_GAME)
request_event(tickEventFunktion,Events.TICK)
end
function register_functions()
-- OHNE reg_func(func) WIRD DIE FUNKTION NICHT DURCH EVENTS AUFRUFBAR SEIN
reg_func(eineEventFunktion)
reg_func(tickEventFunktion)
end
Dieses Codebeispiel hat 2 Events:
- eineEventFunktion, welches ein mal am Anfang des Spiels aufgerufen wird (inklusive nach dem Laden) und die variable zahl auf 10 setzt
- tickEventFunktion, welche jeden Spieltick (Das Spiel hat ~845Ticks die Minute, entspricht ca. = 14 Ticks pro Sekunde) einen Text ausgibt, welche unter anderem die Variable zahl beinhaltet
Last modified 2mo ago