Oniromancie: Tutoriels - Les Tableaux


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Jeux: Monster World RPG / Jeux: Pif et Hercule / News: Mise à jour de RPG Maker 2003 / Tutos: Création de charset / Jeux: FAYLINAWA /

Chat  (18 connectés)

Bienvenue
visiteur !








Statistiques

Liste des
membres


Contact

64 connectés actuellement

9265365 visiteurs
depuis l'ouverture

625 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

Jerdz

Kingdom Ultimate

Léo-Games

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




Les Tableaux
Ecrit par Tata Monos

image

Les Tableaux
Bonjour mes amies et mes amis. Voici un nouveau tuto qui va parler des tableaux dans The Games Factory 2, Multimédia Fusion 2, et Multimédia Fusion 2 version Développeur. Le tuto est aussi valable sur la version Newsground de TGF2.

Les trois logiciels possède nativement une extension qui se nomme Tableau. (Array sur les versions anglaises)

L'objet Tableau permet de mémoriser une chaîne (Lettre et Chiffres), ou des valeur entières(Que des chiffres) sur un maximum de 3 dimensions. (X,Y,Z). Pour commencer, je vais vous expliquer ce qu'est « une dimension » pour un tableau.

Les Tableaux en 1D
Si vous avez utilisé MMF vous avez je pense utilisé un tableau à 1 dimension (enfin presque).
Si si, les variables et les chaines de variable. (Locale ou pas)
Dans chaque variables, vous pouvez placer qu'une seul chaine/valeur. Les variables sont désignées par une ID (un chiffre). Dans un tableau c'est pareil. C'est une ligne ( X ) coupée par des cases (dit Index), et chaque case possède une ID qui est l'adresse de celui si, qui peut contenir une chaine ou une valeur numérique suivant la configuration de l'objet.

image
Voici un exemple simple pour comprendre. Le chiffre 25 se trouve sur la case (X1), et sur la case (X6) se trouve le chiffre 69.

Les Tableaux en 2D
Vous avez déjà joué à la bataille navale ? E-7 ? Touché ! E-8 ? Coulé ! Tu as coulé mon sous marin.
Ba vous avez utilisés un tableau en 2D ! Pour trouver un point, il faut deux coordonné. Le X et le Y. (Horizontale et Verticale).

image
Voici un exemple simple pour comprendre. Le chiffre 32 sur trouve sur la case (X7) ET (Y1). Il faut deux nombres pour trouver l'adresse de la casse. (X7,Y1).
En (X1,Y4) se trouve le nombre 44. Et en (X4,Y6) se trouve le nombre 69.
Tien cela ne vous rappelle pas des cours de mathématiques pour poser des points sur des repères orthonormé ?
A noter que j'utilise la notation (X4,Y6) pour bien montrer, mais vous pouvez voir ce genre de notation. (4,6) sans le X et le Y ou aussi [4,6].

Les Tableaux en 3D
Alors la, ça va très certainement être dur à me faire comprendre. Bon la 3D (3em dimension) apporte une nouvelle « couche » pour désigner un point. La profondeur. (Z)
Ce qui veut dire un carreau en 2D peut être encore découpé dans ça profondeur. (Comme des calques aussi)
Dans l'exemple plus haut, le nombre 69 serait en (X4,Y6,Z0 (ou Z1 suivant l'option indexation.)) car il est le sur le premier plan.

Pour bien me faire comprendre je reprend aussi le mini exemple de Falco qu'il m'a fait !
Pour comprendre le système de profondeur, on peut voir ça comme un système de calque.
Z étant un calque.
X:19 Y: 25 sur le calque (z) 1
X:32 Y: 43 sur le calque (z) 2

Paramétrer son tableau.
Un tableau ça se paramètre avant l'utilisation !
image
Voyons voir un peu les options de configuration du tableau.

Dimensions
C'est ici que vous allez choisir le type de tableau que vous allez utiliser. (1D,2D,3D)
Dans la configuration native, le tableau est en 1D ! (10 cases en X, 1 case en Y et une case en Z)
Attention à ne pas placer 0 cases en Y et Z!)
Pour passer en 2d, il suffit de changer la valeur du nombre de case en Y idem en Z pour avoir un tableau en 3d !

Numérique ou texte?
L'option parle d'elle même. Un tableau exclusif en valeur ou en chaine de caractère ?
Attention vous ne pouvez pas changer le type de tableau quand le programme est lancé.

Option
Deux options à cocher :
-Index basé sur 1 : C'est simple, le 1er carreau à l'id 1 et non 0 si c'est coché.
-Global à toute l'application : Si je fais un 2em tableau sur une autre scène qui porte le même nom qu'un tableau d'une autre scène, les données du tableau seront les mêmes et communique entre eux.
Cool non ?

Écrire des choses dans un tableau.
C'est bien d'avoir un tableau dans notre application, mais c'est encore mieux de pouvoir inscrire des trucs bidule et chouette dedans. Vous allez voir, c'est simple. Je vais vous montrer comment écrire la valeur numérique 69 (j'adore ce chiffre je sais) sur un tableau en 2d au cordonnée (6,9).
Bon avant j'ai bien sur configuré mon tableau en 2d et en valeur numérique.

Dans l'éditeur d’événement, j'ai fait une condition du type : Lors de l'appui sur la touche '' A ''.
Et dans les effets, sur la case du tableau / Écrire/Écrire une valeur en XY, qui correspond à l'écriture d'une donnée dans un tableau en 2d. Écrire en X c'est pour le 1D et Écrire en XYZ pour la 3d.

Attention aussi à ne pas vous mélanger entre Valeur et Chaine suivant ce que vous voulez faire.
image

L'éditeur d'expression s'ouvre :
-Entrer la valeur à écrire : C'est la valeur (ou chaine si vous êtes dans l'option chaine bien sur) qui sera mémorisé dans le tableau. Dans notre exemple, nous allons écrire 69.
-Entrer l'index X : Dans qu'elle case ( X ) ce nombre va aller ? Dans notre exemple nous avons choisis la case (X6). Donc je note 6.
-Entrer l'index en Y : Comme X mais pour la case Y. J'avais dit (Y9). Donc 9.

Et voilà ce que cela donne avec l'éditeur d'action :
image
Bravos vous avez mémorisé un nombre dans votre tableau.

Changer une donnée dans le tableau.
C'est simple, il suffit de refaire la même manipulation avec une autre donnée. Exemple si finalement en (6,9) je veux placer le nombre 100 à la place du 69, un pzu plus tard dans le programme, je refait la même chose :

-Entrer la valeur à écrire : C'est la valeur (ou chaine si vous êtes dans l'option chaine bien sur) qui sera mémorisé dans le tableau. Dans notre exemple, nous allons écrire 100,
-Entrer l'index X : Dans qu'elle case ( X ) ce nombre va aller ? Dans notre exemple nous avons choisis la case (X6). Donc je note 6.
-Entrer l'index en Y : Comme X mais pour la case Y. J'avais dit (Y9). Donc 9.

Et voilà le nouveau nombre est mémorisé. Simple non ?

Sortir des données !
A oui, c'est cool de placer des données dans un tableau, mais savoir les sortir c'est encore mieux pour travailler tout ça. Vous allez voir, c'est simple comme bonjour. Dans l'exemple que je vais montrer, je vais afficher la valeur contenue en (6,9), pour ça j'ai placé l'objet compteur sur ma scène.
Toujours sur la même ligne de condition, sur la case compteur, je vais utiliser l'option changer compteur. L'éditeur d'expression s'ouvre. Je vais récupérer les données d'un objet et utiliser l'option : Lire la valeur à la position XY.
image
Cela va inscrire ça dans l'éditeur d'expression.
ValueAtXY( "Tableau", >Entrer le décalage en X<, >Entrer le décalage en Y<)
Maintenant remplacer : Entrer le décalage en X par 6.
Entrer le décalage en Y par 9.
image
Et voilà quand vous allez utiliser la touche, A le chiffre 69 sera mémorisé dans le tableau en (6,9)
et la compteur va lire la valeur en (6,9) pour l'afficher.

Mais qu'elle est l'utilité d'un tableau ?
Je ne peux pas trop répondre à cette question étant donnée que souvent l'utilisation d'un tableau est un goût personnelle. Elle se substitue à remplacer des variables globales (ou chaine de texte).
Par exemple si il faut tenir compte des points de vie « de plusieurs monstres », dans un system de combat à la RPG. Que d'avoir des variables globale ou locale, un tableau peut être utile. Surtout si on ajoute les points de magie, des points de caractéristique …

J'utilise un tableau pour définir les cases qui bloques dans un système de déplacement case par case.
Un tableau en 2d me permet d'avoir les X et les Y qui représente la carte de jeu. Quand le joueur veux se déplacer, un teste est effectuer pour savoir si la case à coté possède une valeur qui représente une case libre ou pas. Et suivant cette valeur, le déplacement se fait ou pas. Cela évite de passer par des masques en image. (C'est une autre technique donc). Je peux même utiliser un tableau en 3d pour désigner pourquoi un type id de la case pour effectuer un bruit de pas ou autre programmation utile. (Enfin attention à la gourmandise en ram des tableaux)
Télécharger l'exemple d'utilisation d'un tableau pour faire des déplacements en case par case.

Et surtout pour moi, la force d'un tableau, c'est de pouvoir être sauvegardé et rechargé dans MMF. Cela permet de faire des sauvegardes, des fichier de map ou bien d'autre utilités que je n'ai pas en mémoire.

D'autre option d'un tableau.
Vous pouvez sortir le nombre de index que possède une dimensions. Il y a aussi des options de position. Comme un curseur invisible qui se place sur un index ! (Trois index, sur les X,Y et Z).


Le mot de la fin
Fin !
Xd Bon voilà la fin du petit tuto sur les tableaux. J'ai donné un exemple sur le fonctionnement d'une valeur numérique, pour les chaine de caractère c'est bien sur la même chose.
Bonne journée et bon MMFing.


Joueur1 - posté le 08/02/2012 à 21:29:14. (936 messages postés)

Hum ?

Merci pour ce tuto car c'est rare de trouver des explications sur ce sujet.

"Il y avait bien une lumière au bout du tunnel... et c'était un lance-flammes" (Terry Pratchett)


Dragown - posté le 08/02/2012 à 21:54:18. (56320 messages postés) - admin

Vive le making libre

Ba de rien joueur 1. J'ai eu du mal à comprendre aussi les tableaux dans MMF. Cela date que de vos grande vacance quand je cherchais à faire un systeme de déplacement case par case.

Pixner|Offgame | Le comptoire des clikeurs

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

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis