Création de jeux avec Game Maker
Les Actions de Mouvements
Le premier jeu d'actions concernent les déplacements d'objets. Les actions suivantes existent :
Start moving in a direction (Déplacement dans une direction)
Utilisez cette action pour effectuer le déplacement d'une instance dans une certaine direction.
Vous pouvez indiquer la direction de l'instance en utilisant les boutons flêchés.
Utilisez le bouton du milieu pour stopper le déplacement. Vous devrez mentionner également la vitesse de déplacement.
La vitesse est donnée en pixels par step. La valeur par défaut est de 8. Il est préférable de ne pas utiliser de
valeurs négatives pour régler la vitesse. Vous pouvez indiquer plusieurs directions. Dans ce cas, un choix aléatoire sera réalisé.
De cette manière, un monstre peut aller soit à gauche soit à droite.
Set direction and speed of motion (Régler la direction et la vitesse du déplacement)
Ceci constitue la deuxième manière de réaliser un déplacement. Ici, vous indiquerez une direction précise.
C'est un angle compris entre 0 et 360 degrés, 0 signifiant aller vers la droite. La direction suit le mouvement inverse des aiguilles
d'une montre. Ainsi, par exemple, 90 indique un déplacement vers le haut. Si vous souhaitez une direction arbitraire,
tapez alors random(360). Comme nous le verrons ci-dessous, la fonction random fournit un nombre aléatoire
inférieur à la valeur donnée en paramètre. Vous avez sans doute remarqué qu'il existe une case nommée Relative.
Si vous la cochez, le prochain déplacement sera ajouté au précédent. Par exemple, si l'instance se déplace vers le haut et que
vous ajoutez un déplacement vers la gauche, le nouveau déplacement se fera du haut vers la gauche.
Move towards a point( Déplacement vers un point donné)
Cette action fournit une troisième façon de calculer un déplacement. Vous indiquerez ici une position et une vitesse
et l'instance commencera à se déplacer vers le point désigné, à la vitesse indiquée (elle ne s'arrêtera pas à ce point !).
Par exemple, si vous voulez qu'un boulet se dirige en direction d'un vaisseau spatial, vous pourrez utiliser comme position
spaceship.x, spaceship.y (vous en apprendrez davantage sur l'emploi des variables plus bas dans ce document).
Si vous cochez la case Relative, vous mentionnerez la position relative à celle actuelle de l'instance
(la vitesse quant à elle, n'est pas prise en compte de manière relative !)
Set the horizontal speed (Régler la vitesse horizontale)
La vitesse d'une instance se décompose horizontalement et verticalement. Avec cette action,
vous pouvez changer la vitesse horizontale. Une vitesse horizontale positive signifie un déplacement vers la droite.
Une valeur négative indique un déplacement vers la gauche. La vitesse verticale suit le même principe.
Utilisez la case relative pour augmenter la vitesse horizontale (une valeur négative la diminuera).
Set the vertical speed (Régler la vitesse verticale)
De la même manière, vous pouvez changer avec cette action la vitesse verticale d'une instance.
Set the gravity (Paramétrer la gravité)
A l'aide de cette action, vous allez créer la gravité d'un objet particulier. Vous indiquez une direction (un angle compris entre
0 et 360 degrés) et une vitesse. A chaque étape, la vitesse indiquée est ajoutée au déplacement actuel de l'instance de l'objet et ce dans la direction spécifiée. Vous devrez utiliser normalement un très petit incrément pour la vitesse (comme 0.01). Généralement, vous souhaiterez utiliser une direction vers le bas (270 degrés). Si vous cochez la case Relative, vous augmenterez la vitesse de la gravité ainsi que la direction. Veuillez noter que, contrairement à la réalité, des objets (différents) peuvent avoir des directions gravitationnelles différentes.
Reverse horizontal direction (Inverser la direction horizontale)
Avec cette action, vous inverserez le déplacement horizontal de l'instance. Ceci peut être utilisé par exemple lorsqu'un
objet entre en collision avec un mur vertical.
Reverse vertical direction (Inverser la direction verticale)
Avec cette action, vous inverserez le déplacement vertical de l'instance. Ceci peut être utilisé par exemple quand un objet
entre en collision avec un mur horizontal.
Set the friction (Paramétrer la friction)
La friction ralentit le déplacement des instances. Vous indiquerez ici une valeur de friction. A chaque step, la quantité indiquée
sera déduite de la vitesse jusqu'à ce que celle-ci arrive à 0. Habituellement, vous mentionnerez un très petit nombre (comme 0.01).
Jump to a given position (Aller à une position donnée)
En utilisant cette action, vous pourrez placer l'instance à une position particuliére. Vous indiquerez simplement
les coordonnées x et y et l'instance sera placée à cette position avec son point de référence. Si vous cochez la case
Relative, la position sera relative à l'actuelle position de l'instance. Cette action est souvent employée pour
déplacer une instance en continu. A chaque step, la position est incrémentée d'une valeur très infime.
Jump to the start position (Aller à la position de départ)
Cette action place l'instance de nouveau à la position qu'elle avait à sa création.
Jump to a random position (Sauter à une position aléatoire)
Cette action déplace l'instance à une position aléatoire de la room. Seules les positions ne présentant pas de point d'intersection avec des instances d'objets solides, seront choisies au hasard. Vous pouvez indiquer l'alignement à utiliser.
Si vous spécifiez des valeurs positives, les coordonnées seront déterminées en utilisant des entiers multiples des valeurs saisies.
Cela peut être utilisé par exemple pour forcer une instance à s'aligner avec les cellules de votre jeu (s'il en existe).
Vous pouvez indiquer séparément un alignement horizontal et vertical.
Snap to grid (Aligner avec la grille)
Avec cette action, vous pouvez positionner précisément l'instance sur la grille. Vous indiquerez à la fois la valeur d'alignement
horizontale et verticale (ceci correspond à la taille des cellules de la grille). Très utile pour être sûr que les instances restent sur la grille.
Wrap when moving outside (Permettre le déplacement de bord à bord)
Avec cette action, une instance pourra se déplacer de bord à bord de la room (moving wrap). Cela se produit lorsque l'instance quitte un côté de la room pour réapparaître de l'autre côté. Cette action est habituellement employée dans l'événement Outside. Veuillez remarquer que l'instance doit mentionner une vitesse afin que le déplacement de bord à bord puisse fonctionner,
ceci en raison de la direction de déplacement de bord à bord qui est basée sur la direction de mouvement. Vous pouvez indiquer
si l'on doit permettre uniquement un déplacement horizontal, vertical ou encore dans les deux directions.
Move to contact position (Aller à une position de contact)
Avec cette action, vous pourrez déplacer une instance dans une direction donnée jusqu'à ce que celle-ci entre en contact
avec un objet. Si l'instance est déjà en collision avec un autre objet, elle ne sera pas déplacée. Sinon, l'instance sera positionnée juste avant que la collision ne survienne. Vous pouvez indiquer la direction mais aussi une distance maximale pour le
déplacement. Par exemple, lorsque l'instance tombe, vous pouvez la faire se déplacer vers le bas d'une certaine distance
jusqu'à ce qu'un objet soit rencontré. Vous pourrez également indiquer si l'on doit prendre en compte uniquement
les objets solides ou encore tous les objets.Vous mettrez habituellement cette action dans un événement de collision
afin de vous assurer que l'instance s'arrêtera au contact d'une autre instance impliquée dans la collision.
Bounce against objects (Rebonds contre des objets)
Lorsque vous placez cette action dans l'événement de collision d'un objet, l'instance de l'objet rebondit de façon naturelle.
Si vous régler le paramètre 'precise' à Faux, seules les murs horizontaux et verticaux seront traités correctement.
Si 'precise' est paramétrée à Vrai, les murs inclinés (et même ceux qui sont courbés) seront également pris en compte. Ceci est cependant assez lent. Aussi, vous devrez préciser si le rebond concerne uniquement les objets solides ou encore tous les objets. Veuillez bien noter que la gestion du rebond n'est pas complétement fonctionnelle car cela dépend de nombreuses propriétés. Cependant, dans la plupart des situations, le résultat devrait généralement être assez satisfaisant.
<< Traduction française par Philippe Ragni - (2005) >>
Alternative versions
Also available in:
Download helpfile