Alors voila j'ai décidé de faire des tuto GameMaker pour ceux qui comme moi debuterons peut etre avec ce logiciel.
Pratique : comment faire bouger un objet ? nous voulons que l'objet avance lorsque l'on appuie une touche de direction.
Comme on ne veut pas pour l'instant se compliquer la vie l'objet peut aller soit à droite, soit à gauche.
Décomposition du problème :
1- déplacement vers la gauche, quand la touche flèche gauche est appuyée.
2- déplacement vers la droite, quand la touche flèche droite est appuyée.
3- à l'arrêt, quand aucune de ces 2 touches n'est appuyée.
Pour les 2 premiers états, les conditions correspondent à un event. En effet, ces events correspondent à un event
("tant qu'une touche est appuyée faire").Cliquez sur [
Add Event]
Ajoutez un event keyboard simple
: , et .
1- déplacement vers la gauche, quand la touche flèche gauche est appuyée.
Pour effectuer l'action déplacement vers la gauche, glissez déposer l'action
dans la liste des actions de l'event
.
Paramètresdirection : 180 (180° pour que le perssonage se deplace horizontalement mais vous pouvez très bien mettre 270 pour deplacement vertical)
speed (vitesse en pixel/cycle) : 5
2- déplacement vers la droite, quand la touche flèche droite est appuyée.
Pour effectuer l'action déplacement vers la droite, glissez déposer l'action
dans la liste des actions de l'event
.
Paramètresdirection : 0
speed (vitesse en pixel/cycle) : 5
Passons au 3ème état :
à l'arrêt, quand aucune de ces 2 touches n'est appuyée.
On va se servir d'une astuce qui utilise l'ordre d'exécution des events.
Il faut utiliser l'event begin step
. Il s'exécute avant tout les event à chaque cycle.
Cela signifie qu'à chaque tour l'event [begin step]
s'exécute avant l'event
.
L'astuce consiste à remettre la vitesse de l'objet à 0 à chaque cycle,
ainsi si le joueur appuie sur une touche la vitesse changera et l'objet
avancera, sinon il restera immobile.
Ajouter un event [Begin Step]
Glissez-déposez une action
(direction:0, speed:0) dans la liste d'actions.
voila vous pouver faire avancer un objet.
Cette fois ci je vais vous montrer comment controler l'animation de l'objet (défilement des images)
Nous avons un objet qui bouge suivant les touches gauche et droite.
Mais maintenant nous voulons que le sprite s'anime suivant qu'une
touche est appuyée ou pas. Il nous faut donc reprendre le projet du
cours précédent.(voir le tuto précédent sur les déplacement)
Nous avons un event
, un event
et un event
.
Donc dans les events
, on active le défilement, dans l'event
, on arrête le défilement. Il ne reste plus qu'à savoir
COMMENT CONTROLE-T-ON LE DEFILEMENT DES IMAGES ?.
Il va falloir manipuler des
variables.
En effet, le défilement des images est contrôlé par la variable locale
image_speed. Pour changer cette variable, il faut utiliser l'action
.
Dans l'event
, ajoutez l'action
(variable : image_speed, value : 0) à la liste d'action.
Dans l'event
, ajoutez l'action
(variable : image_speed, value : 0.5) à la liste d'action.
Dans l'event
, ajoutez l'action
(variable : image_speed, value : 0.5) à la liste d'action.
Et normalement, ça donne l'effet que l'on cherche. C'est-à-dire que
quand on l'objet bouge, le sprite défile, et quand l'objet est à
l'arrêt le sprite est fixe. c'est cool n'est ce pas