Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Connexion avec identifiant, mot de passe et durée de la session

+-Shoutbox (Merci d'utiliser le forum pour les demandes d'aides)

Aujourd'hui à 19:03:21 Crystal Noir dit: Episode 3 disponible :)
Aujourd'hui à 12:26:23 Capitaine_Caverne dit: bon anniversaire françois
Aujourd'hui à 10:56:52 Crystal Noir dit: Bon anniversaire François :)
Aujourd'hui à 08:52:23 Monos dit: Joyeux anniversaire François si tu passes par ici.
05 juillet 2014 à 19:00:06 Crystal Noir dit: Les deux premiers épisodes de la série de tutos sont en lignes : http://comptoir-mmf.eu/Forum/index.php?topic=777.0
05 juillet 2014 à 18:36:39 Capitaine_Caverne dit: merci bien oui a monos il ma dit la même chose que dans fusion il maintenant des variable réservé.
05 juillet 2014 à 17:12:08 Funkadicte dit: Capitaine_Caverne: Oui J'ai remarqué sa aussi on ne peux pas renommer une variable d’un objet comme on le souhait speed,angle n'est pas acceptée et les autre aussi je pense
05 juillet 2014 à 16:43:02 Pit73 dit: il y a des nom de variable réservé il me semble.
05 juillet 2014 à 15:23:02 Capitaine_Caverne dit: bonjour dit moi sur fusion la j ai bug faite un test  si vous renommer le nom de la variable d un objet  en nom  ( angle ) j ai un message d erreur mais si je mais un autre nom dit moi s ça vous fait la même chose.
05 juillet 2014 à 14:55:41 Funkadicte dit: Ok merci
Voir l'historique

Liens

Messages non lus

Télécharger

Divers

Twitter

Les extensions pour MMF2

FaceBook ClickTeam France

Derniers messages

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Crystal Noir
Aujourd'hui à 19:02:24

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Capitaine_Caverne
Aujourd'hui à 12:21:05

Re : Nicolas par Crystal Noir
Aujourd'hui à 11:26:55

Re : Nicolas par Nicolas
Aujourd'hui à 11:04:18

Re : Annonce des Patchs Officiel et des Patchs en bêta. par Monos
Aujourd'hui à 08:56:33

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Crystal Noir
Aujourd'hui à 01:21:31

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Pit73
Aujourd'hui à 00:42:20

Re : Nicolas par Crystal Noir
Aujourd'hui à 00:29:08

Re : Serie tutoriaux Fusion 2.5 : Frog On The Road par Nicolas
Aujourd'hui à 00:13:51

Re : Nicolas par Kloug
Aujourd'hui à 00:10:33

Re : Besoin d'aide Shoot'em up/Puzzle Game par Kloug
05 juillet 2014 à 23:00:14

Re : Besoin d'aide Shoot'em up/Puzzle Game par Funkadicte
05 juillet 2014 à 20:54:46

Re : Besoin d'aide Shoot'em up/Puzzle Game par Funkadicte
05 juillet 2014 à 20:29:17

Re : Besoin d'aide Shoot'em up/Puzzle Game par Funkadicte
05 juillet 2014 à 19:56:39

Re : Besoin d'aide Shoot'em up/Puzzle Game par Kloug
05 juillet 2014 à 19:36:31

Re : Tutorial Series en préparation : Frog On The Road par Crystal Noir
05 juillet 2014 à 19:01:10

Serie tutoriaux Fusion 2.5 : Frog On The Road par Crystal Noir
05 juillet 2014 à 18:59:36

Re : Besoin d'aide Shoot'em up/Puzzle Game par Capitaine_Caverne
05 juillet 2014 à 18:39:51

Re : Besoin d'aide Shoot'em up/Puzzle Game par Funkadicte
05 juillet 2014 à 18:25:46

Re : Besoin d'aide Shoot'em up/Puzzle Game par Kloug
05 juillet 2014 à 17:40:43

Dernier Clikeur

Funkadicte
Nicolas

Membre en ligne

8 Invités, 0 Utilisateurs

Auteur Sujet: Les Tableaux  (Lu 531 fois)

Hors ligne Monos

  • Webmaster
  • Clickeur de Légende
  • Messages: 1311
    • Voir le profil
    • Offgame
  • Google Play: Oui
  • Logiciel: Fusion 2.5Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module HTML5: Oui
  • Module iOS: Oui
  • Module XNA: Oui
Les Tableaux
« le: 07 février 2012 à 15:01:04 »


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èdent 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 valeurs 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 variable, 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 et qui peut contenir une chaîne ou une valeur numérique suivant la configuration de l'objet.


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  utilisés un tableau en 2D ! Pour trouver un point, il faut deux coordonnés. Le X et le Y. (Horizontale et Verticale).


Voici un exemple simple pour comprendre.  Le chiffre 32 se 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 !

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 1 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 chaîne 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 Chaîne suivant ce que vous voulez faire.


L'éditeur d'expression s'ouvre :
-Entrer la valeur à écrire : C'est la valeur (ou chaîne si vous êtes dans l'option chaîne bien sur) qui sera mémorisée 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 :

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 peu plus tard dans le programme, je refait la même chose :

-Entrer la valeur à écrire : C'est la valeur (ou chaîne si vous êtes dans l'option chaîne 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.
 
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.
 
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 globales ou locales, 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ésentent la carte de jeu. Quand le joueur veux se déplacer, un test est effectué 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  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 fichiers 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 chaîne de caractère c'est bien sur la même chose. 
Bonne journée et bon MMFing.

 






 
« Modifié: 06 décembre 2012 à 09:19:09 par Monos »

Hors ligne Capitaine_Caverne

  • Staff Technique
  • Clickeur bien intégré
  • Messages: 437
    • Voir le profil
  • Logiciel: Fusion 2.5Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module iOS: Oui
Re : Les Tableaux
« Réponse #1 le: 08 février 2012 à 14:56:34 »
très bon tuto monos continus comme ça  :-*
du de vrais maitre le lien de téléchargement de l exemple un peu plus visible ou le maitre a la fin du tuto

et encore merci pour super tuto.

a bientôt

Hors ligne Monos

  • Webmaster
  • Clickeur de Légende
  • Messages: 1311
    • Voir le profil
    • Offgame
  • Google Play: Oui
  • Logiciel: Fusion 2.5Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module HTML5: Oui
  • Module iOS: Oui
  • Module XNA: Oui
Re : Les Tableaux
« Réponse #2 le: 08 février 2012 à 19:32:25 »
Merci Capitaine.  D'autre tuto seront écrits suivant mon inspiration. J'aime beaucoup "les tutos écrits" comme ça.

Hors ligne therickman

  • Nouveau Clickeur
  • Messages: 4
    • Voir le profil
  • Logiciel: MMF2 Dev
  • Module Flash: Oui
Re : Les Tableaux
« Réponse #3 le: 09 mars 2012 à 08:07:37 »
je viens de m'inscrire sur le site.
Merci pour ce tuto !!

Hors ligne Monos

  • Webmaster
  • Clickeur de Légende
  • Messages: 1311
    • Voir le profil
    • Offgame
  • Google Play: Oui
  • Logiciel: Fusion 2.5Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module HTML5: Oui
  • Module iOS: Oui
  • Module XNA: Oui
Re : Les Tableaux
« Réponse #4 le: 10 mars 2012 à 09:03:50 »
Bienvenue chez les dingos du click. Merci.

 


+-MiniChat

Aujourd'hui à 19:03:21 Crystal Noir dit: Episode 3 disponible :)
Aujourd'hui à 12:26:23 Capitaine_Caverne dit: bon anniversaire françois
Aujourd'hui à 10:56:52 Crystal Noir dit: Bon anniversaire François :)
Aujourd'hui à 08:52:23 Monos dit: Joyeux anniversaire François si tu passes par ici.
05 juillet 2014 à 19:00:06 Crystal Noir dit: Les deux premiers épisodes de la série de tutos sont en lignes : http://comptoir-mmf.eu/Forum/index.php?topic=777.0
05 juillet 2014 à 18:36:39 Capitaine_Caverne dit: merci bien oui a monos il ma dit la même chose que dans fusion il maintenant des variable réservé.
05 juillet 2014 à 17:12:08 Funkadicte dit: Capitaine_Caverne: Oui J'ai remarqué sa aussi on ne peux pas renommer une variable d’un objet comme on le souhait speed,angle n'est pas acceptée et les autre aussi je pense
05 juillet 2014 à 16:43:02 Pit73 dit: il y a des nom de variable réservé il me semble.
05 juillet 2014 à 15:23:02 Capitaine_Caverne dit: bonjour dit moi sur fusion la j ai bug faite un test  si vous renommer le nom de la variable d un objet  en nom  ( angle ) j ai un message d erreur mais si je mais un autre nom dit moi s ça vous fait la même chose.
05 juillet 2014 à 14:55:41 Funkadicte dit: Ok merci
Voir l'historique
Powered by EzPortal