Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

353 connectés actuellement

30729737 visiteurs
depuis l'ouverture

3354 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

New RPG Maker

RPG Maker Détente

Lunae - le bazar d'Emz0

Eclipso

Tous nos partenaires

Devenir
partenaire



[RGSS] Apprendre le RGSS : Les modules, au plus simple !

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

Ecrit par Tricky le 25/08/2008


❤ 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 :

Portion de code : Tout sélectionner

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

Portion de code : Tout sélectionner

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à :

Portion de code : Tout sélectionner

1
Graphics.transition(30, "Graphics/Transitions/001-Blind01")



Voici l’explication.
Dans notre module, nous avons donné comme ligne

Portion de code : Tout sélectionner

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 :

Portion de code : Tout sélectionner

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

Portion de code : Tout sélectionner

1
TITRE_TRANS = "001-Blind01"  



par :

Portion de code : Tout sélectionner

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.

Portion de code : Tout sélectionner

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 :

Portion de code : Tout sélectionner

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! image



jrmaker - posté le 25/08/2008 à 18:03:59 (9 messages postés)

❤ 0

Petit maker deviendra grand!

Tant que la variable 0001 n’est pas égal à NOMBRE dans le module Tutoriel, ajouter 1 à la variable. c'est
[code]while $game_variables[1] != Tutoriel::NOMBRE
$game_variables[1]+=1[\code]


Tricky - posté le 25/08/2008 à 18:35:07 (205 messages postés)

❤ 0

Ouais, j'ai remarqué à la fin... Je voulais dire : Sauf si la variable est égal...

Seulement, je ne peux pas éditer directement le poste alors merci beaucoup de le faire remarquer! ;)


Irzyka-Monos - posté le 27/08/2008 à 11:30:51 (57322 messages postés)

❤ 0

Vive le homebrew

Merci Tricky. Je viens de comprendre les modules. Enfin l'idée. ;)

Signer du nez ?


dynamique-zak - posté le 18/02/2014 à 15:00:07 (48 messages postés)

❤ 0

Lol l'appel de module ressemble a l'appel d'une classe en C++ :rit2

En réflexion...

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers