❤ 0 Les modules
Introduction --
De « module » jusqu’au « end », en passant par les «NomDuModule ::Ligne», une façon de se retrouver plus facilement dans nos scripts, de les faire simple à modifier pour les autres et les rends plus esthétiques! C’est aussi vraiment moins long pour faire des changements!
Le sujet --
(Mais de quoi il parle Tricky?)
Ah, ouais, le sujet! Les modules bien sûr. Ceux-ci servent de diverses façon mais ce serait trop long d’expliquer qu’est-ce qu’un module en entier dans un seul tuto! C’est pourquoi je vais m’en tenir au plus simple.
Pour ce qui est des exemples, je conseil de créer un nouveau projet.
Exemple d’un module : Créez un nouveau script au dessus de tous les autres et nommez le «module Tutoriel» (Note : Le nom que vous donnez n’influe pas sur le fonctionnement).
La partie pratique --
Copiez ceci dans votre page blanche :
1
2
3
4
5
6
7
8
9
10
11
12
| module Tutoriel
NOIR = Color.new(0, 0, 0, 255)
BLANC = Color.new(255, 255, 255, 255)
FONT = "Arial"
ERREUR = "Mec, pas moyen de trouver #{filename}!!"
MENU_FOND = "BackmenuIcon"
TITRE_TRANS = "001-Blind01"
TITRE_TRANS_DURATION = 30
NOMBRE = 7
end |
Bon, perso, je n’utiliserais pas vraiment ce module mais c’est seulement pour une explication!
Alors maintenant, nous avons un module! C’est beau mais comment s’en servir…?
Ouvrons l’éditeur de script, dans le script Scene_Title
Vers la ligne 66, il y a la commande «Graphics.transition».
Remplacez cette ligne par
1
| Graphics.transition(Tutoriel::TITRE_TRANS_DURATION, "Graphics/Transitions/" + Tutoriel::TITRE_TRANS) |
Ouvrez votre jeu! À l’ouverture, il y a une transition qui porte le nom de 001-Blind01 et qui dure 30 images (frames).
« Mais pourquoi? J’ai seulement marqué un truc long et débile qui est incompréhensible….»
Partie théorique --
Voilà le bout intéressant!
La vraie façon de faire une transition est d’écrire la ligne comme suis :
Graphics.transition(nombre de frames, nom de la transition avec chemin entre guillemet)
Notre éditeur à suivi une ligne comme celle-là :
1
| Graphics.transition(30, "Graphics/Transitions/001-Blind01") |
Voici l’explication.
Dans notre module, nous avons donné comme ligne
1
| TITRE_TRANS_DURATION = 30. |
Dans notre ligne de transition, nous avons simplement fait une référence au module Tutoriel de cette façon :
Nom_Du_Module::Ligne
Autrement dit, le script arrive à cette ligne, voit qu’il doit aller chercher la ligne TITRE_TRANS_DURATION dans le module Tutoriel, regarder quel est la valeur et l’appliquer.
Essayons autre chose.
Partie pratique --
Dans le script Main, modifier l’avant dernière ligne (Celle qui parle d’un fichier introuvable) par ceci :
1
| print(Tutoriel::ERREUR + " #{filename}!!") |
Ensuite, nous allons provoquer une erreur de sorte que notre jeu doive nous dire qu’il manque un fichier! Pour ce, dans le module que vous avez créez, modifier la ligne
1
| TITRE_TRANS = "001-Blind01" |
par :
1
| TITRE_TRANS = "Transition innexistante" |
À l’ouverture du jeu, vous devriez avec exactement le message d’erreur que nous avons créé, plus le nom du fichier manquant!
Partie théorique --
(Okay… Mais je n’aurais pas simplement pu le changer sans module?)
Ouais! Mais si vous avez besoin de faire des modifications, ou quelqu’un d’autre, tout est au même endroit et facile à comprendre puisque vous donnez vos propres noms.
Donc, pour faire référence à un module, on doit commencer par mettre le nom du module (ici « Tutoriel »), mettre 2 deux points ( :: ) et la ligne que l’on désir. Il est important de ne pas mettre d’espaces entre le nom du module, les :: et les lignes.
1
| Tutoriel :: TITRE_TRANS # Ça ne marcherait pas |
C’est seulement une petite partie pratique des modules mais elle peut sauver beaucoup de temps!
Vous pouvez même faire des équations avec les modules.
Exemple :
1
2
3
| unless $game_variables[1] == Tutoriel::NOMBRE
$game_variables[1] += 1
end |
Traduction :
Tant que la variable 0001 n’est pas égal à NOMBRE dans le module Tutoriel, ajouter 1 à la variable.
Le plus agréable, c’est vraiment le fait que l'on ne doive pas chercher après avoir fait un module parce qu’on a tout placé dedans!
Conclusion :
De mon côté, j’ai passé 2 heures à faire un module complet de tout mon jeu (Je l’ai nommé le module M pour Master) et quasiment tout les lignes s’y référent.
Quand vient le temps de faire des modifications, c’est à un seul endroit; le module M.
À votre tour!
|