M'expliquer la base de flash svp

kisbo Messages postés 7 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 13 avril 2012 - 11 mai 2004 à 02:21
kisbo Messages postés 7 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 13 avril 2012 - 12 mai 2004 à 21:17
salut tout le monde, bon je commence a comprendre certaine fonction de flash, mais est-ce que quelqu'un pourrait m'expliquer comment on fait pour creer une sorte de mémoire, je veux dire par la que lorsque l'on clique sur un certain bouton, l'ordinateur va s'en souvenir, je crois pas etre super clair mais je vais donner un exemple:
Par exemple imaginons un jeux ou il faut retrouver les paires, comment fait on pour que le programme associe une image a une autre pour que cela donne le bon resultat.
Et qu'il sache que c'est le bon resultat, j'espere que vous comprenez ce que je veux dire, je sais qu'il y a plein de source sur le site ou ce type d'animation est présente, mais j'aurai vraiment besoin que l'on m'explique clairement par un exemple simple et concret . je vous en remercie c'est vraiment sympa .
bye seb

5 réponses

cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
11 mai 2004 à 11:40
Salut, ben il y a plusieurs methodes.

Le principe: un clip est indépendant, tu peux lui demander d'avoir une ou plusieurs variables, qui n'appartiendront qu'a lui.
exemple: unclip.lacarte = "image1";
c'est la maniere dont tu vas mettre une variable appelée "lacarte" dans "unclip", et etant egale à "image1".

Donc, en suivant le meme resonnement, tous tes clips peuvent avoir une variable appelée "lacarte", et ayant une valeur différente. Bien sur, pour faire des paires, il faut que deux par deux, certaines aient la meme valeur...

Apres, il ne te reste plus qu'a faire un comparateur:

En cliquant une carte, il va chercher la variable interieur, et on va lui demander de la recopier dans une variable de la scene:
_root.comparateur1 = this.lacarte; (genre de truc que l'on met dans un bouton appartenant au clip: 'this' signifie 'soi-meme' et '_root' pointe vers la scene principale)
On fait pareil avec la deuxieme carte cliquée:
_root.comparateur2 = this.lacarte;

Une fois la deuxieme carte tirée, on va comparer les deux valeurs:

if( comparateur1 == comparateur2){
// On vire les deux cartes
} else {
// On les remet à leur place
}

Bon, la je t'ai donné les grandes lignes. il va sans dire que si il y a 40 cartes devant soi, il faut trouver un systeme d'automatisation:
- que chaque carte (clip) possede un nom d'occurence générique du style carte1, carte2, ect...
- que lorsqu'on va tirer les cartes au hasard, il faut trouver une routine pour les melanger sans les repeter (c'est possible en mettant toutes les valeurs de cartes dans un tableau, et de tirer au hasard un numero egal à la longueur du tableau, puis de copier la valeur de cette case et la coller dans le clip avant de la retirer du tableau avec un split et de recommencer jusqu'a ce qu'il y ai plus de cases au tableau)
- que puisque les cartes sont sur le meme modele, il faut qu'elles fonctionnent toutes de la meme facon, avec un routine qui lorsqu'on clique dessus, renvoie son propre nom à une fonction créée sur la scene.
- que cette fonction sur la scene sache si elle en est à la premiere ou à la deuxieme carte, et lance l'animation correspondante en se servant du nom qui lui a été envoyé
( _root[lenomdelacarte].gotoAndPlay("retourner"); )
- que l'on compte le nombre de paire pour terminer le jeu lorsqu'il n'y a plus de paire à retourner

Et voila le grand principe d'un jeu de carte ou il faut retrouver les paires... sans le code (il y aurait une partie sur la scene - avec une boucle "for" pour créer et dupliquer les cartes et une fonction servant de comparateur - et une partie sur le clip qui sert de carte)

Des variables, tu peux en créer à la pelle, mais il faut toujours faire attention à l'endroit ou tu les mets... et faire en sorte d'en utiliser le moins possible...

Mais je ne sais pas si ca va t'aider, c'est un exemple assez complexe, qui demande de la reflexion par rapport à la question que tu poses à la base...

En ecrivant tout ca j'ai l'impression que je vais t'embrouiller.

@+ Tom
kisbo Messages postés 7 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 13 avril 2012
11 mai 2004 à 16:15
non non!!! tu ne m'embrouille pas, je te remercie, il faut juste que je me pratique un peu maintenant.
Je vais essayer ca en commencant par 4 cartes et je verrai bien ce que ca donne!!
merci encore bye seb
Prouprou_Sensei Messages postés 517 Date d'inscription mardi 23 décembre 2003 Statut Membre Dernière intervention 24 octobre 2006 1
11 mai 2004 à 16:49
Chapeau l'explication tom!
cs_tom Messages postés 1511 Date d'inscription samedi 8 décembre 2001 Statut Modérateur Dernière intervention 11 juin 2009
11 mai 2004 à 17:43
Ce sont mes restes de formateur... ;)

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kisbo Messages postés 7 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 13 avril 2012
12 mai 2004 à 21:17
ok salut tom, bon je me suis mis au travail mais je suis trés trés TRES loin d'avoir un jeu qui fonctionne, enfaite mon premier probleme c'est au niveau de la distribution des cartes, pour que ce soit aléatoire, j'avais deja essayé de faire un puzzle, et j'avais utilisé la fonction scamble, mais ici je ne peux pas utiliser cette fonction?, toi tu me propose un tableau , mais heu.. comment je fais pour creer un truc pareil?
j'espere que je t'ennuie pas trop avec mes questions.
et je te remercie pour ton aide
bye seb
Sébastien
www.kisboo.com
Rejoignez-nous