Ce tutoriel nécessite une connaissance débutante-intermédiaire des évènements, donc les variables doivent être à peu près maîtrisées.
Définition de boucle: élément d'un code dont les commandes à l'intérieur se répètent jusqu'à ce qu'il y ait une sortie de boucle.
Une boucle, en gros, c'est une commande, qui peut en contenir d'autres qui vont se répéter. Si le code détecte une boucle, il va répéter son contenu jusqu'à commande de sortie de boucle.
Les commandes reliées aux boucles sont la commande de boucle en tant que telle et la sortie de boucle, c'est tout, et c'est le nécessaire.
MISE EN GARDE: dans une boucle, il est conseillé de mettre une attente d'une frame au début du code dans la boucle, pour éviter que le jeu ralentisse pour cause de trop de ressources consommées, ou même pour éviter que le jeu gèle.
Une boucle s'utilise généralement avec des conditions à l'intérieur. Par exemple. on vérifie la position d'un évènement au fur et à mesure qu'il avance, jusqu'à ce qu'il atteigne un certain point :
1
2
3
4
5
6
7
8
| Boucle:
<> Attendre 1 frame
<> Variable: Y Évènement = Coordonnée Y de l'évènement PNJ
<> PNJ: un pas en avant
<> Condition: Si Y Évènement = 18 (à titre d'exemple)
<> Sortir de la boucle
<> Fin de condition
Fin de boucle |
En gros, le code va faire avancer un personnage tant qu'il n'a pas la coordonnée Y 18. C'est un exemple simple, mais on peut l'utiliser pour plein de trucs ! Par exemple, dans un A-RPG, on peut déterminer le temps avant de réattaquer selon une caractéristique vitesse du héros, ou pour attendre l'appui d'une touche, bref, pour répéter une opération jusqu'à la condition "X".
Vous pouvez faire des tests, vous comprendrez rapidement si vous n'avez pas saisi.
Définition d'étiquette: point de repère dans un code, vers lequel on peut sauter pour passer ou refaire des commandes.
L'étiquette a des fonctions beaucoup plus variées que la boucle, mais son concept demeure très simple. Elle est toujours utilisée avec un saut vers une étiquette. Note: pour la version 2003 de RPG Maker, l'étiquette a apparemment des performances moins efficaces que la boucle.
Son utilité, brièvement, est d'aller vers une autre partie dans le même code.
Exemple:
1
2
3
4
5
6
7
8
9
10
11
12
| <> Message: Entrez une valeur comprise entre 1 et 4.
<> Placer une étiquette "1"
<> Entrer un nombre, 1 chiffre, contenu dans (la variable que vous voulez)
<> Condition: si (la variable que vous avez choisie) est strictement supérieure à 4:
<> Placer une étiquette "2"
<> Message: Veuillez respecter les valeurs demandées.
<> Sauter vers l'étiquette "1"
<> Sinon:
<> Condition: si (la variable que vous avez choisie) est strictement inférieure à 1:
<> Sauter vers l'étiquette "2"
<> Fin de condition
<> Fin de condition |
Dans ce code, on a utilisé deux fois les étiquettes. Chacune a une différente fonction. La première ramène au choix du nombre. Elle est pratiquement indispensable (sauf si on utilise une boucle) pour empêcher le joueur d'entrer une valeur indésirable, ou alors si vous utilisez une autre méthode vous vous compliquez énormément la tâche.
La deuxième nous permet rapidement d'aller à une fonction déjà codée, que ce soit pour gagner du temps ou pour assurer une consistance dans le déroulement.
Voilà, voilà. Maintenant quelques exercices ?
Questions:
1. Pourquoi utiliser une boucle ?
2. Quelle est la différence technique entre une étiquette et une boucle ?
3. Pourquoi préférer la boucle à l'étiquette ?
4. Quels genres de situations nécessitent l'étiquette et ne peuvent pas se faire avec la boucle ?
Essayez:
- De faire avancer un personnage jusqu'à une coordonnée X ou Y dont la valeur peut être définie par le joueur.
- De faire un appareil qui fera 15 sons identiques avec une boucle.
- De faire un questionnaire qui ramène au tout début du questionnaire à chaque réponse manquée.
- De faire geler votre jeu avec une étiquette ou une boucle ! (au moins après vous comprendrez pourquoi il faut mettre Attendre 1 frame ^^)
Et c'est fini. Si vous avez tout pigé, vous pouvez maintenant réfléchir à des idées sympas pouvant être faites avec la boucle ou les étiquettes. =)
|