Den Game Maker benutzen
Generating events
Wie du weißt, ist der Game Maker komplett event-gesteuert. Sämtliche Aktionen geschehen als Resultat von events. Es gibt viele unterschiedliche events. Creation und destroy events werden ausgelöst wenn eine Instanz erschaffen oder vernichtet wird. In jedem Schritt (step), bearbeitet das System zuerst die alarm events. Danach werden Tastatur- und Mausereignisse verarbeitet und anschließend das step event. Dann werden die Instanzen an ihre neuen Positionen gesetzt und das collision event ausgewertet. Schliesslich wird das draw event verwendet, um die Instanzen zu zeichnen (beachte, dass wenn mehrere Views eingesetzt werden, das draw event mehrmals pro step aufgerufen wird). Du kannst auch ein Ereignis mittels GML-Programmcode einer Instanz zuweisen. Folgende Funktionen gibt es:event_perform(type, numb) Löst das event numb mit angegebenen type für die aktuelle Instanz aus.
ev_createWenn mehrere Ereignisse desselben Typen vorhanden sind, kann numb verwendet werden, das genaue Ereignis zu bestimmen. Für das alarm event liegt "numb" im Bereich 0 bis 11. Fürs Tastaturereignis verwende den Tastencode der Taste. Für Mausereignisse kannst du folgende Konstanten verwenden:
ev_destroy
ev_step
ev_alarm
ev_keyboard
ev_mouse
ev_collision
ev_other
ev_draw
ev_keypress
ev_keyrelease
ev_left_buttonFür das collision event gib den Index des anderen Objektes an. Schließlich kannst du für die übrigen Ereignisse folgende Konstanten nutzen:
ev_right_button
ev_middle_button
ev_no_button
ev_left_press
ev_right_press
ev_middle_press
ev_left_release
ev_right_release
ev_middle_release
ev_mouse_enter
ev_mouse_leave
ev_mouse_wheel_up
ev_mouse_wheel_down
ev_global_left_button
ev_global_right_button
ev_global_middle_button
ev_global_left_press
ev_global_right_press
ev_global_middle_press
ev_global_left_release
ev_global_right_release
ev_global_middle_release
ev_global_press
ev_global_release
ev_joystick1_left
ev_joystick1_right
ev_joystick1_up
ev_joystick1_down
ev_joystick1_button1
ev_joystick1_button2
ev_joystick1_button3
ev_joystick1_button4
ev_joystick1_button5
ev_joystick1_button6
ev_joystick1_button7
ev_joystick1_button8
ev_joystick2_left
ev_joystick2_right
ev_joystick2_up
ev_joystick2_down
ev_joystick2_button1
ev_joystick2_button2
ev_joystick2_button3
ev_joystick2_button4
ev_joystick2_button5
ev_joystick2_button6
ev_joystick2_button7
ev_joystick2_button8
ev_outsideBeim step event kannst du folgende Konstanten benutzen:
ev_boundary
ev_game_start
ev_game_end
ev_room_start
ev_room_end
ev_no_more_lives
ev_no_more_health
ev_animation_end
ev_end_of_path
ev_user0
ev_user1
ev_user2
ev_user3
ev_user4
ev_user5
ev_user6
ev_user7
ev_user8
ev_user9
ev_user10
ev_user11
ev_user12
ev_user13
ev_user14
ev_user15
ev_step_normalevent_perform_object(obj, type, numb) Diese Funktion arbeitet genau wie voranstehende, mit der Ausnahme, dass du events in anderen Objekten auslösen kannst. Beachte, dass die Aktionen in diesen Ereignissen für die aktuelle Instanz gilt, nicht für das der Instanz zugeordnete Objekt.
ev_step_begin
ev_step_end
event_user(numb) Beim Menüpunkt "other events" kannst du 16 benutzerdefinierte events erstellen. Diese werden nur ausgelöst, wenn du diese Funktion aufrufst. numb liegt im Bereich 0-15.
event_inherited() Führt das ererbte Ereignis aus. Funktioniert nur, wenn die Instanz ein Elternobjekt hat.
Du kannst Informationen über das momentan ausgeführte event bekommen, indem du folgende Variablen verwendest:
event_type* Type des momentan ausgeführten events.
event_number* Nummer des momentan ausgeführten events.
event_object* Der Objektindex, für den das aktuelle event ausgeführt wird.
event_action* Der Index der Aktion die gerade ausgeführt wird (0 ist die erste innerhalb des Ereignisses, etc.).
Alternative Versionen
Du kannst dieses Handbuch auch auf einer langen Seite (± 1.5 mb) ansehen.
Auch verfügbar in:
Download helpfile
Auch verfügbar in:
Download helpfile