AS3 comment écouter plusieurs mc

coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011 - 9 nov. 2011 à 11:38
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011 - 10 nov. 2011 à 22:02
Bonjour,

Je suis débutant en as3 et j'aimerais réaliser un petit jeux sans prétention.
Mais même sans prétention je bute sur le code.

Je m'explique. J'ai crée un MC avec 6 états "label nomé ex. etat01,etat02,etat03 etc,"

Ce MC est instancié 2000 fois ds ma scene côte à côte ce qui me crée une grille de MC.

J'usque là tout ok. mon problême est qu'a chaque fois que l'on click sur un MC celui.ci passe de l'etat 01 à l'etat 02 j'aimerais qu'en tache de fond un script écoute tout les MC et que si cinq MC cote à cote ou en diagonale sont en etat 02 ben que ceux-ci passe en etat 03!!!

Pourriez-vous m'aider svp

23 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
9 nov. 2011 à 12:24
Bonjour, pour connaitre quel est le déclencheur d'un évènement, il suffit de récupérer Event.currentTarget comme suit:

function eventHandler(evt:Event):void {
trace(evt.currentTarget);
}


Dans ton cas, il faut créer un tableau contenant chaque MovieClip puis faire une recherche de cet élément dans le tableau pour connaitre sa position.

Par contre, tu risques de surcharger la mémoire de l'ordi avec autant d'éléments...

Peg'
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
9 nov. 2011 à 13:24
Merci Pegase,

Justement c'est bien ce qui me semblait ca va ramer à mort y'a pas d'autre solution par hasard?

Du style une grille toute bête crée en AS3 et en fait à chaque fois que l'on clique ds un croisement cela ajoute mon MC.
Cela ferait moins de MC à verifier !

Maintenant comment créer la grille toute bête...qui crocherait mes MC...

Ensuite j'ajoute la function eventHandler(event:Event)void{

Mais en tout les cas merci de m'avoir répondu.
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
9 nov. 2011 à 13:29
J'ai fait justement une source dispo ici qui explique ça. Regarde là : http://www.flashkod.com/codes/AS3-SIMULATION-GRILLE-EDITION_53414.aspx

Peg'
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
9 nov. 2011 à 13:43
Excellent c'est pas mal du tout merci

Pour changer le graph en élement MC

var cursor:Shape new Shape(); je peux taper ça? var cursor:mc new mc ();

C'est juste?

merci d'avance.
0

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

Posez votre question
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
9 nov. 2011 à 13:49
normalement, oui, après n'oublies pas qu'il existe des sprites aussi...

Peg'
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
9 nov. 2011 à 13:51
c'est super sympa...sauf erreur le sprite ne peut être animé?
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
9 nov. 2011 à 14:02
Par code, si.
Il peut être modifié niveau visuel par code facilement, et prend bien moins de place que le MovieClip.

Peg'
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
9 nov. 2011 à 23:54
Re re Peg euhh je bute encore

Merci pour ton exemple grille c'est super best.

J'ai déclaré une var en plus cursor1 qui est un MC occurencé sur la scene cursor1
J'arrive pas à la faire s'afficher je dois pas pigé un truc...

voila le bout de toon code avec l'ajour de ma var cursor1:

//gestion de l'appuie sur la souris
case "mouseDown" :
stage.addEventListener(MouseEvent.MOUSE_UP, mouseHandler);
//masque le curseur
cursor1.visible = false;


stage.addChild(cursor1);
cursor1.visible = true;


break;
//gestion du relaché de souris
case "mouseUp" :
stage.removeEventListener(MouseEvent.MOUSE_UP, mouseHandler);
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
10 nov. 2011 à 08:26
Mais qu'essaies-tu de faire exactement ?

Peg'
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
10 nov. 2011 à 18:17
Salut Peg?

Lol tu va me tuer bon..

en fait j'ai déclaré une variable plus haut ds le code après ta variable cursor...

var cursor1:MovieClip = newMovieClip ();

J'ai crée mon MC que j'ai nommé cursor1

Et mon idée était d'au lieu de faire aparaitre un carré bleu j'insère le Movie Clip nommé cursor1 à la place...

Comment je dois faire?

Merci de bien vouloir attendre un peu avant de me tuer
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
10 nov. 2011 à 19:06
au final, tu auras le même nombre total de movieclip ... Je ne vois pas trop l'interêt..

Peg'
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
10 nov. 2011 à 20:41
cool_yao@hotmail.ch

j'dois t'expliquer...
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
10 nov. 2011 à 20:43
Je t'en prie, ce sujet est prévu pour ça.

Peg'
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
10 nov. 2011 à 20:56
Je n'aurais pas le même nombre total comme j'aimerais que la grille me serve à comptabiliser le nombre d'etat aligné de chaque MC.

A partir du moment ou l'ecouteur d'etecte cinq MC sur le meme etat il passe à etat2 à partir du moment ou si tu ajoute un MC tu n'arrive pas à faire une suite de 5 ben ta perdu.

Le but est de totaliser le nombre de fois que tu as reussi à faire une suite de 5 MC aligné que se soit horizontalement que verticalement et en diago...

y'a d'autre astuce ajoutée pour que ca roule nickel mais j'aimerais deja bien poser la base.

5 MC cote à cote et ca passe en etat 02
et la detection de la diago pour charger le bon MC je bute complet...

As tu compris et est-ce que l'idéee t'inspire?

Yao
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
10 nov. 2011 à 21:00
jej'ai déjà compris depuis ton premier message, mais je ne comprend pas pourquoi tu n'utilises pas autre-chose que des MovieClip.
Si tu utilisais des Bitmaps, par exemple, un simple "copyPixels" ferait amplement l'affaire et tu n'aurais qu'un seul et unique élément.

Peg'
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
10 nov. 2011 à 21:05
j'ai besoin d'un MC car il y'a une animation

Etat 01 ( une croix ce dessine)

Etat 02 MC "détection des cinq aligné"( une barre en travers ce dessine)

Etat 03 MC qui dessine une ligne barrant en diago Droite

Etat 04 MC qui dessine une ligne diago mais Gauche

etc.. etc...

C'est un jeu donc un minimum de fun ;))))

nouveau concept mais passionnant
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
10 nov. 2011 à 21:06
c'est un solitaire mais en plus fun
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
10 nov. 2011 à 21:10
Et bien, une fois tes movieclips animés (je suppose qu'ils ne le sont pas tout le temps), tu les inclue dans le Bitmap de fond et tu vires son instance du stage.
Léger, simple, efficace.

Peg'
0
coolyao Messages postés 13 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 10 novembre 2011
10 nov. 2011 à 21:14
yep je vois ce que tu veux dire...enfin je pense l'idee.

c'est qu'une fois mon MC chargé il telecharge un BMP de ma derniere image.

C'est encore mieux effectivement...mais c'est encore plus de code...

et moi ben suis nulos vais jamais y'arriver....
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
10 nov. 2011 à 21:19
non, tu peux créer un bmp de ton clip avec "draw" et l'inclure dans ton grand bitmap.
Tu gagneras du CPU au final.
Et des compétences en as3 ...

Peg'
0