Tutorial
d'apprentissage
des timelines
et des paths
Par
Conker et @NOTIZ@.
SOMMAIRE:
a) Les actions D&D (dans Lib >> Main2 >> Timing)
b) Les actions D&D (dans Lib >> Move >> Move)

Sur ce
tutorial nous allons apprendre à nous servir des timelines, les
timelines
(prononcer «taillme, laillne») sont des ressources qui n'apparaissent
que dans
le mode avancé de game maker :
Mais
à quoi servent les timelines ? Voici un petit exemple.
Exemple :
Vous
commencez le timeline grâce à une action D&D qui se trouve
dans :
"Lib >>
Main2 >> Timing >> Set a time line"
Une
fois le timeline commencé, il compte les steps qui arrive après sa
création, et
effectue les actions situées dans des listes (créer par vos soins),
quand il
arrive à un certain moment
Exemple
:
Sur
la photo j'ai sélectionné le moment 300, cet à dire que les actions de
cette
liste vont être effectuer 300 steps après le commencement du timeline.
Je
commence le
timeline. Paffe ! 20 Steps plus tard les actions situées dans la
liste de
la position 20 sont effectuées. Paffe ! 5 Steps plus tard
(position 25)
les actions de la position 25 sont effectuées et ainsi de suite.
A) Les actions D&D (dans Lib >> Main2 >> Timing) :
![]()
Set
a Timeline
Pour
commencer un timeline. Sélectionner le et indiquer la position
(d'habitude on
met 0 mais vous pouvez sélectionner par exemple 80 pour faire comme si
cela
commençais à partir de cette position).
![]()
Set a Timeline position
Changer
la position du timeline actuel, si aucun timeline n'est en cour pour
l'objet,
il ne se passera rien. Je vous rappelle que la position, c'est le
« numéro » du step ou en est le timeline (en plus de position
on peut
dire aussi « moment »).
Voici les différentes fonctions
en gml sur les
timelines (tiré de l'aide GM en français) :
timeline_index : Index de la
ligne de temps associée à l'instance. Vous pouvez modifier cet index
pour utiliser
une position particulière de la ligne de temps. Réglez cet index à -1
pour
arrêter l'utilisation de la ligne de temps affectée à l'instance.
timeline_position : Actuelle
position de la ligne de temps. Vous pouvez modifier la position afin de
sauter ou
répéter certaines parties de la ligne de temps.
timeline_speed :
Habituellement, la position de la ligne de temps est incrémentée de 1à
chaque
step. Vous pouvez changer cette valeur en affectant un autre montant à
cette
variable. Vous pouvez utiliser des nombres réels comme 0.5. Si la
valeur est
plus grande que un, plusieurs moments pourront survenir pendant le même
step.
Ils seront tous traités dans le bon ordre et aucune action ne sera
sautées.
timeline_exists(ind) : Indique
si la ligne de temps d'index ind existe.
timeline_get_name(ind) :
Retourne le nom de la ligne de temps d'index ind.timeline_add() : Ajoute
une nouvelle ligne de temps. La fonction retourne l'index de la ligne
de temps
créée.
timeline_delete(ind) : Efface
la ligne de temps d'index ind. Soyez certain
cependant qu'aucune instance n'utilise cette ligne de temps et ce dans
chacune
des rooms.
timeline_moment_add(ind,step,codestr) : Ajoute
une action (code) à la ligne de temps ind
au
step du moment. codestr contient le
code pour les actions. Si le step n'existe pas,
il sera créé. Vous avez ainsi la possibilité d'ajouter plusieurs
actions de
code pour un même moment.
timeline_moment_clear(ind,step) : Vous
utiliserez cette fonction pour effacer toutes les actions d'un moment
particulier.
C)
Explication de la fenêtre :
Pour
créer un timeline, il vous suffit de créer les moments et de mettre les
actions
D&D en les glissant dans la liste comme pour les objets.
Sur la
fenêtre de
‘properties’ du timeline, vous voyer les libs apparaitre.
(Ajout/Suppression/Modification
des positions)
Add =
Pour ajouter
une nouvelle position
Change
= changer
la position sélectionné actuellement mais pas les actions
Delete
= effacer
la position ainsi que toute c'est actions
Duplicate
= copier
les actions de la positions sélectionné dans une nouvelle position que
vous
aller créer.
Shift
= Ajouter
des steps a des positions.
Merge
= mélanger
les actions d'une position dans une autre position
Ok =
fermer la
fenêtre est sauvegarder les paramètres.
Final
:
Pourquoi
utiliser
les timelines ?
Pour
par exemple
créer des cinématiques, générer la créations des ennemies, il y a plein
de
moyen, c'est mieux que d'utiliser les alarms, exemple pour un scrolling
shooter, faire un timeline avec des positions alternative tous les 30
steps par
exemple, et à chaque position sa créer un ennemi aléatoirement dans la
map, sa
génère les ennemies, vous pouvez aussi faire des variantes :
vers
la fin vous
mettez par exemple tous les 10 steps, comme sa les ennemies se créer
plus vite
et c'est de plus en plus dur. Bref l'utilisation des timelines vous
facilitera
surement la tâche pour certaine(s) chose(s), sur l'écran dans mon jeu
par
exemple j'en utilise beaucoup !

Les paths
(prononcer «pass») sont des ressources formant des chemins que les
objets
pourront suivre. Path signifie 'chemin' en anglais, les paths
n'apparaissent
que dans le mode avancé de game maker.
Donc
les paths sont des chemins que les instances vont suivre.
Cliquer
sur
l'icone pour ajouter des paths et une fenêtre de ‘properties’
apparaitra.
A)
Explication de la fenêtre :
Toolbar :
Case
coché : Sauvegarder et fermer la fenêtre.
Flèche
: enlever ou ajouter la dernière action effectuer.
Page
cornu : effacer le path.
Double
flèches : inverser le path (le dernier point devient le premier
et le premier devient le dernier.
Quadruple
flèches : déplacer tous les points du path en même temps.
Flèches
horizontales : inverser la coordonnée X de chaque point du path.
Flèche
verticales : inverser la coordonnée Y de chaque point du path.
Flèche
en rotation
: tourner le path.
Flèche
étiré :
étirer le path.
Flèche
haut, bas,
droite, gauche : avance la vue dans la direction souhaitée.
Croix
: centrer la
vue sur le point principale du path.
Snap
X, Snap Y :
entrer le nombre de pixel qui sépare chaque colonnes et lignes de la
grille.
Grid :
cocher la
case pour afficher la grille.
Indiquer
une room
: afficher les tiles, les backgrounds et les objets d'une room pour se
repairer.
Rectangle de gauche :
Name :
entrer le nom du path (qui apparaitra dans la liste des paths).
Liste
: Ici se trouve la liste des points formant le path, chaque ligne
est un point, il est préciser la position x, y et sa vitesse.
Case
ADD : ajouter un point.
Case
INSERT : insérer un point par dessus celui sélectionné.
Case DELETE : effacer le point
sélectionné.
X: la
position x du point sélectionné.
Y: la
position y du point sélectionné.
sp: la
vitesse relative du point*
*La
vitesse relative à un point est la vitesse que l'on va ajouter à la
vitesse initial l'objet qui parcoure le path quand celui-ci passera par
le
point.
Connexion
kind: indiquer
le mode de fixation des lignes entre
les points, choisissez *Straight lines* pour un path de forme droite et
choisissez Smooth
curve pour un
path de forme arrondi.
Closed
: cocher cette case si vous voulez que le path soit fermé ou que
le dernier point soit raccordé au premier.
Precision
: indiquer avec quel précision (de 1 a 9) vous voulez relier
les points avec les lignes.
B)
Les actions D&D (dans Lib >> Move >>
Move) :
![]()
Set a path
for the instance
Grâce à cet action vous pourrez
faire en sorte que
l'objet suivra le path, le point d'origine du sprite sera le point qui
touchera
le path, mais on ne verra pas le path. Indiquer le path, la vitesse,
l'action à
exécuter à la fin du path et enfin si le path commencera relativement à
l'instance.

End the
path for the instance
Cet action stop l'instance qui
suis un path
actuellement.
![]()
Set the
position on the path
Changer la position de
l'instance sur le path quel
parcoure actuellement, la position doit être comprise entre 0 et 1, il
faut
donc utiliser les nombres décimal comme 1,5 ou 1,25.
![]()
Set the
speed for the path
Changer la vitesse à laquelle
l'instance parcoure
le path actuellement.
Voici les différentes fonctions
en gml sur les
paths (tiré de l'aide GM en français) :
path_start(path,speed,endaction,absolute) : Débute
l'exécution du chemin pour l'instance courante. La valeur path correspond au
nom du chemin à suivre par l'instance. La valeur speed est la vitesse
à laquelle le chemin doit être parcouru. Une vitesse négative signifie
que
l'instance se déplace en sens inverse le long du chemin.
path_end() : Suspend
le parcours du chemin pour l'instance courante.
path_index : Index
du chemin actuel suivi par l'instance. Il ne vous est pas possible de
le
modifier directement mais est utilisé par la fonction ci-dessus.
path_position :
Position du chemin actuel. 0 est le début
du chemin tandis que 1 correspond à
la fin. La valeur doit être comprise entre 0 et 1.
path_positionprevious :
Position précédente du chemin actuel. On l'utilise par exemple dans les
événements de collision pour paramétrer la position du chemin à sa
position
précédente.
path_speed : Vitesse
(en pixels par step) à laquelle le chemin doit être parcouru. Utilisez
une
vitesse négative pour inverser le sens du déplacement.
path_orientation :
Orientation (sens contraire des aiguilles d'une montre) vers laquelle
le chemin
est dirigé. 0 correspond à
l'orientation normale du chemin.
path_scale : Mise à
l'échelle du chemin. Augmentez cette valeur pour créer un chemin plus
long. 1
est la valeur
par défaut.
path_endaction :
L'action à exécuter en fin de chemin. Vous pouvez utiliser les valeurs
indiquées ci-dessus.
Final :
L'utilisation
des paths seras très utile, c'est plus facile que de faire un chemin en
utilisant les alarms pour changer de direction... Pour faire des
mouvements
d'ennemies, des déplacement RPG et plein d'autre chose encore !
Bonne chance
pour tous
vos projets en cours !
Conker
Traduction
française de l’aide
Game-Maker par Philippe Ragni