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

+-Merci d'utiliser le forum pour les demandes d'aides sur fusion.

15 novembre 2018 à 13:56:09 Patrice dit: https://clickstore.clickteam.com/p3d_3d_framework
15 novembre 2018 à 09:34:51 Patrice dit: P3D
15 novembre 2018 à 08:11:38 Seyjin dit: En utilisant des sprites aux lieux de models 3D je suppose…
14 novembre 2018 à 19:38:11 Setsuna34 dit: Bonjour je viens de tomber sur une vidéo ou ont voit un jeux de plateforme 2D mais avec le niveau en 3D, c'est vraiment intéressant quelqu’un peux me dire comment ont intègre le niveau 3D dans un jeux de plateforme 2D ?https://www.youtube.com/watch?v=BP6dzIUaOVE
14 novembre 2018 à 18:42:39 Pit73 dit: *bon
13 novembre 2018 à 05:21:12 Monos dit: Bonne anniversaire yves
13 novembre 2018 à 05:21:03 Monos dit: Hello xenon il est top ton mario. C plus complexe que ce que l on imagine un mario ! Tu es sur la bonne voie!
13 novembre 2018 à 05:20:43 Monos dit: Bonne anniversaire yves
13 novembre 2018 à 05:20:36 Monos dit: Bonne anniversaire yves
11 novembre 2018 à 09:53:29 Xenon3K dit: Hello, c'est l'anniversaire d'Yves aujourd'hui !
11 novembre 2018 à 09:53:22 Xenon3K dit: Hello, c'est l'anniversaire d'Yves aujourd'hui !
07 novembre 2018 à 11:04:45 Pit73 dit: Un copieur de techniques a la patrice ! https://www.blendernation.com/2018/11/06/free-procedural-cloud-system-for-eevee-real-time/
03 novembre 2018 à 18:51:39 Xenon3K dit: Pour ceux qui veulent il y a un Humble Bundle sur RPG Maker: https://www.humblebundle.com/software/degica-software?hmb_source=navbar&hmb_medium=product_tile&hmb_campaign=tile_index_4
28 octobre 2018 à 13:40:58 fredetmumu dit: fred! oui c'est sympa effectivement!
28 octobre 2018 à 10:18:11 Xenon3K dit: Du coup c'était Fred ou Mumu ? :) ça fait toujours plaisir de rencontrer un vrai un clicker
28 octobre 2018 à 10:08:23 fredetmumu dit: ouai c'etait moi :)
28 octobre 2018 à 05:33:54 Monos dit: C'est cool la rgc à meau. Jai pas retenu le pseudo mais  j'ai rencontré  un clickeur. Fredmumu je crois. Il est cool
 Merci.
26 octobre 2018 à 00:48:42 Nico dit: @Xenon3K, je ferais des vidéos en FR pour Fusion 3 ;) sinon pour le site Clickteam Library, je travaille sur ce site avec Daniel, pour le refondre et surtout l'alimenter...
24 octobre 2018 à 18:28:27 Patrice dit: Faut voir ce que donne la traduction automatique de YouTube.
24 octobre 2018 à 13:55:18 Xenon3K dit: Va falloir que Nico refasse des vidéos en FR :)
24 octobre 2018 à 10:47:40 ValLoche23 dit: Intéressant ! :)
Dommage qu'on puisse pas avoir une version FR ! ^^
23 octobre 2018 à 20:31:33 Xenon3K dit: http://library.clickteam.com/videos/ Nouveau site de Clickteam qui répértorie tous les meilleurs tutos vidéo, une version FR serait en cours
22 octobre 2018 à 16:18:50 Xenon3K dit: http://www.jarvis-game.com/ Un joli projet en Fusion dont j'avais parlé hier
22 octobre 2018 à 15:46:58 Emmanuel dit: oui très bien il y avais pas de bombe sur la route et pas de départ de feu en vus sur TV ;-)
22 octobre 2018 à 15:33:57 Xenon3K dit: Tu as fait bonne route ?
Voir l'historique

UserBox

Welcome, Guest.
Please login or register.
 
 
 
Mot de passe oublié?

Bientôt

Surprise

Liens

Messages non lus

Télécharger

Divers

Twitter

Les extensions pour MMF2

FaceBook ClickTeam France

Derniers messages

nb d'actif max sous android par fredetmumu
Aujourd'hui à 02:19:01

Re : Platformer 2D par muratime
20 novembre 2018 à 01:38:33

Re : Platformer 2D par muratime
20 novembre 2018 à 00:54:09

Re : Platformer 2D par muratime
20 novembre 2018 à 00:00:03

Re : Platformer 2D par ptiseigneur
19 novembre 2018 à 19:54:44

Re : Maze 3D par Patrice
19 novembre 2018 à 15:13:40

Re : Maze 3D par fredetmumu
19 novembre 2018 à 14:27:22

Re : Maze 3D par Patrice
19 novembre 2018 à 14:00:36

Re : Maze 3D par fredetmumu
19 novembre 2018 à 13:50:14

Re : Maze 3D par Patrice
19 novembre 2018 à 13:10:45

Re : Platformer 2D par muratime
18 novembre 2018 à 22:46:48

Re : Platformer 2D par fredetmumu
18 novembre 2018 à 20:44:25

Re : Platformer 2D par ptiseigneur
18 novembre 2018 à 18:42:05

Re : Platformer 2D par ptiseigneur
18 novembre 2018 à 11:00:10

Re : Platformer 2D par Valeth
18 novembre 2018 à 08:46:41

Re : taille de fenetre en cours de prg par fredetmumu
17 novembre 2018 à 23:44:34

Re : taille de fenetre en cours de prg par Seyjin
17 novembre 2018 à 22:17:25

Re : taille de fenetre en cours de prg par Yazorius
17 novembre 2018 à 20:34:48

Re : taille de fenetre en cours de prg par fredetmumu
17 novembre 2018 à 19:50:49

Re : Platformer 2D par muratime
17 novembre 2018 à 19:39:59

Nouveau Clickeur

patjoss
sonic011gamer
Yog-Sothoth

Membre en ligne

24 Invités, 0 Utilisateurs

Auteur Sujet: Traitement des Chaînes  (Lu 1127 fois)

Monos

  • Webmaster
  • Pilier légendaire incontournable
  • **
  • Messages: 2628
    • 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
Traitement des Chaînes
« le: 21 décembre 2014 à 11:40:35 »
Le traitement des chaînes.
Rédigé par Jean Monos.
Exemple mfa compatible seulement avec Clickteam Fusion 2.5
L'exemple mfa sansextenssion est compatible avec la version lite.
String Parser n'est pas disponible sur la version lite.


Téléchargement de l'archive qui contient les exemples :
http://comptoir-mmf.eu/tuto/traitementchaine.rar


Introduction
La matrice, la gestion de donnée, les sauvegardes, et plein de truc encore que le traitement de chaîne peut être utile.  Qu'es donc tout ça ?
 
8,2,2,4,6,2,7,4,6,4,7,5,3,4,8,4

Et voici un exemple, la chaîne en italique possède (dans cette exemple) deux  caractéristiques.
Des valeurs numériques. (Qui peuvent être Alphanumérique bien sur)
Et une Virgule.

La virgule permet de séparer les valeurs numériques. C'est que nous appelons un séparateur !
Les Valeurs Numérique (ou Alphanumérique) sont souvent appelé des éléments.
Mais pourquoi ? Pour plein de chose Imaginé sur une ligne de 16 cases, avant de le début de votre niveau il faut le composer de tiles, avec ce genre de chaîne, le programme va savoir que sur la premier case il faut placer le tiles numéros 8, la seconde case le tiles numéros 2, la troisième case encore le tiles 2 et ainsi de suite jusque à la 16em case.

Avec un petit éditeur à coté vous pouvez générer des niveaux et le lire seulement la présence d'une seule scène dans Fusion et pas utiliser la méthode, une scène=> un niveau... Gain de place et faciliter de débuge assuré
Ceci est bien sur un exemple très très simple pour comprendre l'utilité.

Avant de continuer, une petite chose, vous êtes maître de dire ce que vous voulez dans vos chaine. On peux faire des groupes de trois nombres, le premier et le numéros de tiles, le 2em ça position X, et le 3em ça position Y, on repars sur un nouveau cycle. Le 4em (et donc le 1er d'un nouveau cycle) est le numéros de tiles, le 5em ça position X et le 6em ça position Y... Ce qui permet d'affiner et d'ajouter d'autre information à traiter.

Vous pouvez aussi utiliser plusieurs séparateurs. Pratique pour faire des groupes de donnée.
4,0,0#2,0,1#4,0,2
Voici un autre exemple ou je combine deux séparateurs. La virgule et le Croisillon (#). (Non ce n'est pas un dièse)
Le programme va en premier lieu sortir le premier groupe (élément) entre le croisillon pour enfin sortir les informations entre les virgules. (Numéros de tiles, position X, Position Y dans mon exemple bien sur)

On ne fait pas que des niveaux avec ça !
Non, travailler des chaines avec séparateur n'est pas dédier à faire des niveaux de jeu ! Il y a plein de possibilité dont même moi je n'ai pas idée. L'autre truc cool c'est de réaliser votre système de sauvegarde !
Voici un exemple, je veux sauvegarder la position de mon joueur sur la carte et reprendre ma partie plus tard ! Avec l'expérience les gens utilises le fichier ini pour ça. Mais un simple fichier texte fait la même chose avec une petite chaîne avec une virgule. Numéros du niveau,position x,position Y. On peux même facilement ajouter d'autre donnée, vie, nombre de bombe, et j'en passe.  Alors oui le fichier ini semble plus facile à utiliser, mais à la base ce n'est pas fait pour ça. Le fichier ini est un fichier de configuration, mais Chacun utilise la méthode qui lui semble le meilleur. (¨Personnellement j'utilise beaucoup plus les tableaux et la possibilité de sauvegarder directement dans un fichier, une fois ce fichier recharger, tout est en place automatiquement.)

 Allons plus loin sur une idée. La triche ! Le fichier ini peut facilement être trafiquer. Le fichier texte aussi vous allez me dire. Mais si vous "coder" la chaîne en entier avant de la sauvegarder ? Et la décoder dans le logiciel en lui même avant de la travailler ? Dans le fichier Ini, il faut coder et décoder chaque éléments. Personnellement je trouve plus simple de coder une chaîne en entier. (Il y a quand même des méthodes pour parer cela en réalisant une empreinte MD5 des informations sauvegardées avec une clef secrète bien sur le mémoriser aussi dans le fichier ini et au chargement recomposer l'empreinte et ce qui est sauvegarder. Si c'est différent, le joueur à changé une valeur et  donc tricher ! Voir le tuto sur les scores en lignes pour comprendre l'idée !)


Passons à la pratique !
C'est bien beau ce blabla, mais on fait comment sur Clickteam Fusion 2.5 ?
Il y a plusieurs méthode ! Utiliser directement une extension. (Sting parser), ou les fonctions de base du logiciel.

Nous allons débuter avec les fonctions de base du logiciel si vous le voulez bien. (De toute façon vous n'avez pas le choix)

Avec les fonctions de base !
Dans le pack il y a un exemple : sansextenssion.mfa
C'est un exemple que j'ai réalisé pour vous montrer que sans extenssion, vous pouvez analyser une chaine de caractère et de sortir des éléments entre les séparateurs ! Ceci est une méthode parmi tant d'autre.

Dans la premier chaine globale, j'ai placer le séparateur que je voulais utiliser : une virgule.
J'ai ajouté 5 objets. Trois Chaîne, un compteur, et un bouton.
Une Chaîne "source" qui sera le texte à analyser.
Une Chaîne "sortie" qui permet de sortir l'élément analysé
Une Chaîne "Recherche Caract" qui va accueillir le caractère à comparer !
Le Compteur "Curseur" qui permet de connaitre l'emplacement de la lettre à analyser dans la Chaîne.
Et un bouton pour lancer l'analyse d'un élément.

Dans cette exemple nous lançons la recherche élément par élément manuellement. Bien sur le plus souvent il faut faire ça automatiquement pour enchaîner la sortie des éléments entre les séparateurs pour effectuer le travaille dessus.

Ligne 3 :  Quand le bouton suivant est utilisé, on le désactive, on efface le contenue du texte sortie pour accueillir le prochain, et lance la boucle Lecture qui sera le moteur de recherche du programme.

Ligne 5 : Quand la boucle Lecture est appelé, nous allons mémoriser un caractère de la chaîne qui se trouve à la place de la valeur du curseur. Pour cela nous allons utiliser une fonction du logiciel : Extraire la sous chaîne du milieu qui se trouve dans Spécial/Chaînes en éditeur d'expression. C'est une fonction pratique qui permet sortie d'une chaîne, un nombre de caractère voulue, a partir de l'emplacement voulus. Exemple : Dans la chaîne Je suis un Clickeur je peux demander de sortir 5 caractère a partir de 3. (Attention on débute à 0 quand c'est pour l'emplacement) ce qui fait SUIS U
Attention aussi, les espaces comptes. Donc dans notre exemple, nous allons sortir un seul caractère a partir de la valeur du compteur curseur. Ensuite nous allons lancer la Boucle recherche.

Ligne 7 : Quand la boucle Recherche est appelé, et que le contenue de la valeur global (Séparateur) donc une virgule est égale au contenue de la chaîne Recherche caract (vous savez le caractère qui est mémorisé plus haut), alors on active le bouton prêt pour rechercher l'élément suivant, et on ajoute 1 au compteur curseur. L'élément est trouvé au complet.

Ligne 8 : C'est l'inverse de la ligne 7, Quand la boucle Recherche est appelé et que le caractère est différent de la virgule dans notre exemple, alors on ajoute 1 au compteur curseur, on ajoute le caractère que nous avons comparé dans la sortie, et on relance une nouvelle Lecture pour comparer le prochain caractère.

Ligne 10 : Une petite protection pour éviter un "bug" de mémoire. On compare la longueur de la chaîne Source avec la fonction Len, et la valeur du compteur. Comme ça le compteur sait quand il arrive à la fin de la chaîne et peut repartir à 0. Si on fait une recherche au delà du nombre de caractère contenue dans la source, Fusion ne va pas aimer. Comment sortir une lettre qui n'existe pas ?

Voici donc un petit exemple sans l'utilisation d'une extension. Il y a plein de chose à faire en fonction de vos besoins bien sur. A vous de vous adapter.

String Parser
Cette fois si nous allons utiliser l'extension String Parser. Nous voulons le même résultat que sans extension. Afficher Élément par Élément se qui se trouve entre deux séparateurs. Le Fichier exemple est stringparsemfa
J'ai posé pour cette exemple trois objets. String Parser, l'objet Chaîne "Sortie" et un compteur "Élément"

Ligne 3 : En début de scène ont demande à string parser de mémoriser une virgule en tant que séparateur et le texte à analyser.
Ligne 5 : Chaque fois que nous utilisons le bouton on modifie dans la chaîne "sortie", l'élément voulue en fonction de la valeur du compteur et on ajoute 1 au compteur. Attention le premier élément est bien le "1" et non le "0".
Ligne 7 : Comme sans extension une simple mesure de protection pour reboucler la recherche.

C'est tout avec String Parser. Par de recherche caractère par caractère à comparer. String Parser permet aussi de lire et enregistrer des données sur des fichiers, d'utiliser plusieurs séparateur, de faire un cryptage MD5 et bien plus encore.

Comme sans extension, l'exemple n'est pas automatiser. Vous allez devoir utiliser des boucles pour sortir les éléments et les traiter voir en faire une 2nd analyse si il des séparateurs dans des séparateurs. 1,2,3#1,5,5#
1er étape sortir le premier élément entre les croisillons et ensuite les trois éléments entre les Virgules.

Mais ça vous savez le faire maintenant !
« Modifié: 21 décembre 2014 à 11:50:37 par Monos »

alex

  • Nouveau Clickeur
  • Messages: 41
    • Voir le profil
    • XGEN3d
  • Google Play: Oui
  • Logiciel: Fusion 2.5Dev
  • Module Flash: Oui
  • Module HTML5: Oui
Re : Traitement des Chaînes
« Réponse #1 le: 21 décembre 2014 à 12:50:35 »
merci pour ce tuto et ses sources, très pratique pour beaucoup de choses^^
.

ValLoche23

  • Couteau-Suisse Humain
  • Staff Technique
  • Clickeur de Légende
  • *
  • Messages: 1346
  • Minecraftien confirmé
    • Voir le profil
    • GeekMakina
  • Google Play: Oui
  • Logiciel: Fusion 2.5Dev
  • Module APK: Oui
  • Module Flash: Oui
  • Module HTML5: Oui
  • Module iOS: Oui
  • Module XNA: Oui
  • Module UWP: Oui
Re : Traitement des Chaînes
« Réponse #2 le: 21 décembre 2014 à 23:48:57 »
Merci beaucoup pour ce très bon tutoriel Monos ^^
Tout les chemins mènent au Rhum !

 


+-MiniChat

15 novembre 2018 à 13:56:09 Patrice dit: https://clickstore.clickteam.com/p3d_3d_framework
15 novembre 2018 à 09:34:51 Patrice dit: P3D
15 novembre 2018 à 08:11:38 Seyjin dit: En utilisant des sprites aux lieux de models 3D je suppose…
14 novembre 2018 à 19:38:11 Setsuna34 dit: Bonjour je viens de tomber sur une vidéo ou ont voit un jeux de plateforme 2D mais avec le niveau en 3D, c'est vraiment intéressant quelqu’un peux me dire comment ont intègre le niveau 3D dans un jeux de plateforme 2D ?https://www.youtube.com/watch?v=BP6dzIUaOVE
14 novembre 2018 à 18:42:39 Pit73 dit: *bon
13 novembre 2018 à 05:21:12 Monos dit: Bonne anniversaire yves
13 novembre 2018 à 05:21:03 Monos dit: Hello xenon il est top ton mario. C plus complexe que ce que l on imagine un mario ! Tu es sur la bonne voie!
13 novembre 2018 à 05:20:43 Monos dit: Bonne anniversaire yves
13 novembre 2018 à 05:20:36 Monos dit: Bonne anniversaire yves
11 novembre 2018 à 09:53:29 Xenon3K dit: Hello, c'est l'anniversaire d'Yves aujourd'hui !
11 novembre 2018 à 09:53:22 Xenon3K dit: Hello, c'est l'anniversaire d'Yves aujourd'hui !
07 novembre 2018 à 11:04:45 Pit73 dit: Un copieur de techniques a la patrice ! https://www.blendernation.com/2018/11/06/free-procedural-cloud-system-for-eevee-real-time/
03 novembre 2018 à 18:51:39 Xenon3K dit: Pour ceux qui veulent il y a un Humble Bundle sur RPG Maker: https://www.humblebundle.com/software/degica-software?hmb_source=navbar&hmb_medium=product_tile&hmb_campaign=tile_index_4
28 octobre 2018 à 13:40:58 fredetmumu dit: fred! oui c'est sympa effectivement!
28 octobre 2018 à 10:18:11 Xenon3K dit: Du coup c'était Fred ou Mumu ? :) ça fait toujours plaisir de rencontrer un vrai un clicker
28 octobre 2018 à 10:08:23 fredetmumu dit: ouai c'etait moi :)
28 octobre 2018 à 05:33:54 Monos dit: C'est cool la rgc à meau. Jai pas retenu le pseudo mais  j'ai rencontré  un clickeur. Fredmumu je crois. Il est cool
 Merci.
26 octobre 2018 à 00:48:42 Nico dit: @Xenon3K, je ferais des vidéos en FR pour Fusion 3 ;) sinon pour le site Clickteam Library, je travaille sur ce site avec Daniel, pour le refondre et surtout l'alimenter...
24 octobre 2018 à 18:28:27 Patrice dit: Faut voir ce que donne la traduction automatique de YouTube.
24 octobre 2018 à 13:55:18 Xenon3K dit: Va falloir que Nico refasse des vidéos en FR :)
24 octobre 2018 à 10:47:40 ValLoche23 dit: Intéressant ! :)
Dommage qu'on puisse pas avoir une version FR ! ^^
23 octobre 2018 à 20:31:33 Xenon3K dit: http://library.clickteam.com/videos/ Nouveau site de Clickteam qui répértorie tous les meilleurs tutos vidéo, une version FR serait en cours
22 octobre 2018 à 16:18:50 Xenon3K dit: http://www.jarvis-game.com/ Un joli projet en Fusion dont j'avais parlé hier
22 octobre 2018 à 15:46:58 Emmanuel dit: oui très bien il y avais pas de bombe sur la route et pas de départ de feu en vus sur TV ;-)
22 octobre 2018 à 15:33:57 Xenon3K dit: Tu as fait bonne route ?
Voir l'historique
Powered by EzPortal