Création de jeux avec Game Maker
La Génération des Evénements
Comme vous le savez, Game Maker est totalement orienté événement. Toutes les actions surviennent en tant que résultats d'événements. Il existe un certain nombre d'événements différents. Les événements de création et de destruction apparaissent respectivement lorsqu'une instance est créée ou détruite. A chaque step, le système vérifie en premier lieu les événements des alarmes. Ensuite, il examine les événements clavier et souris puis l'événement step. Puis, les instances sont placées à leurs nouvelles positions après quoi l'événement de collision est inspecté. Enfin, l'événement d'affichage est utilisé pour dessiner les instances (veuillez noter qu'en présence de vues multiples, l'événement d'affichage est appelé plusieurs fois à chaque step). Vous pouvez aussi appliquer un événement à l'instance courante à partir d'un programme. Les fonctions suivantes existent :
event_perform(type, numb) Exécute l'événement numb du type indiqué sur l'instance courante. Les types d'événements suivants peuvent être mentionnés :
ev_createEn présence de plusieurs événements d'un type donné, numb peut être utilisé pour spécifier un événement précis. Pour l'événement alarme, numb peut varier de 0 à 11. En ce qui concerne l'événement clavier, vous devrez utiliser le code renvoyé par la touche pressée. Pour les événements souris, vous utiliserez les constantes suivantes :
ev_destroy
ev_step
ev_alarm
ev_keyboard
ev_mouse
ev_collision
ev_other
ev_draw
ev_keypress
ev_keyrelease
ev_left_buttonPour l'événement de collision, vous donnerez l'index de l'objet other. Enfin, pour l'événement other, vous pourrez utiliser les constantes suivantes :
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_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_outsidePour l'événement step, vous donnerez l'index qui peut utiliser les constantes suivantes :
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) Ces fonctions fonctionnent de la même manière que la fonction ci-dessus hormis que cette fois, vous pourrez indiquer des événements d'un autre objet. Veuillez noter que les actions de ces événements s'appliquent à l'instance courante et non pas aux instances de l'objet indiqué..
ev_step_begin
ev_step_end
event_user(numb) Dans les événements other, il vous est possible de définir 16 événements utilisateur. Ils seront exécutés uniquement si vous appelez cette fonction. numb représente une valeur allant de 0 à 15.
event_inherited() Exécute un événement issu de l'héritage. Cela ne fonctionne que si l'instance posséde un objet parent.
Vous pouvez obtenir des informations sur l'événement courant en cours d'exécution en utilisant les variables en lecture seule suivantes :
event_type* Type de l'événement courant en cours d'exécution.
event_number* Numéro de l'événement courant en cours d'exécution.
event_object* L'index de l'objet pour lequel l'événement courant est en cours d'exécution.
event_action* L'index de l'action en cours d'exécution (0 correspond au premier événement, etc.).
<< Traduction française par Philippe Ragni - (2005) >>
Alternative versions
You can also read this manual on one single long page (± 1.5 mb)
Also available in:
Download helpfile
Also available in:
Download helpfile