Duplicatemovieclip besoin d'aide

Résolu
kwcri Messages postés 23 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 9 mai 2011 - 8 avril 2011 à 04:41
kwcri Messages postés 23 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 9 mai 2011 - 10 avril 2011 à 09:07
Salut a tous les pros de l'as2 et aux autres aussi :D

comme bcp j'ai un nouveau probleme...

jai creer un mc sur ma scene que j'ai appelé aa puis creer un bouton transparent par dessus que j'ai appelé bt.

dans le mc aa il y a une petite annimation que j'aimerais faire jouer lorsque je survole mon bouton. jusque la pas de probleme

je duplicate le clip et mon bouton la aussi pas de souci seulement je ne sait pas comment dire a mon bouton quel est le nom du nouveau clip.

en gros quand je survole mon bouton rien ne se passe

voici mon code ca sera plus parlant:

b = 5;
a = 1;
while (a != b)
{


duplicateMovieClip(aa, "aa" + a, this.getNextHighestDepth());

duplicateMovieClip(bt, "bt" + a, this.getNextHighestDepth());
bt.onRollOver = function()
{

"aa"+a.gotoAndPlay(2);

};
bt.onRollOut = function()
{
"aa"+a.gotoAndPlay(8);

};


a = a + 1;
aa._x = aa._x + 200;
bt._x = bt._x + 200;
}



Note : si je fait

bt.onRollOver = function()
{
aa1.gotoAndPlay(2);

};"
la oui ca prend bien en compte mon nouveau clip mais ce que je veux c'est que ce soit dynamique

Merci bcp:D

12 réponses

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
8 avril 2011 à 12:26
Hello,

il faut pour cela que tu nommes correctement tes bt dupliqués lorsque tu leur attribues des fonctions dans ta boucle .
Une solution où tu te ferais moins chi.. -> incorpores on bouton dans ton clip, tu n'auras que ton clip à dupliquer et tu appelles alors le bouton incorporé lorsque tu survoleras un des clips.
Une autre solution qui serait encore plus pratique : refais ton animation en as3 si tu le peux -> ce sera beaucoup plus simple .

A plus ,

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;
3
kwcri Messages postés 23 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 9 mai 2011
8 avril 2011 à 14:06
Salut BBFUNK01, tes super actif ou je sais pas mais c'est toujours toi qui me repond et tu me porte bonheur en plus lol encore merci pour cette aide"c'est pas pour dire ah oui je savais" mais c'est ce que j'ai fait enfait, j'ai mis mes bouton dans mon clip sur la frame 1 avec l'action gotoAndPlay directement sur le bouton , donc quand ca duplique les clips ca marche tres bien merci bcp!! mais enfait due a ce que j'ai fait je suis toujours un peu bloquer...

jessai detre claire dans mes explications,

J'ai sur mon Root 1 champs texte qui a comme variable texte2011;
au depart de mon annimation je charge les variable qui sont stocker sur un fichier .txt

titre1=blabla
&titre2=blabla2 ect...

j'ai essayer de recuperer les variables directement dans mon clip lors de la boucle
"aa"+a.varrecup=this."titre"+a;
mais voila, mon fameux bouton recommence a me poser des problemes,
on (release){_root.text2011=varrecup;}

mais ca ne marche pas. :(


je desespere... enfait pour ce qui concerne as3 je ne my met pas car on ma dit que c'etait plus dure que l'as2 et que celui qui ne maitrise pas as2 ne peux coder en as3 je ne sais pas si c'est vrai mais bon vue que je suis une bille en as2...

BBFUNK01, grace a tes precedentes aides j'ai terminer le siteweb, c'est pour une ecole au vietnam, je tenvoie le lien pour que tu puisses si tu le desire regarder ce que grace a toi j'ai pu concretiser...

www.kirin.vn/index1111.html
Merci !!!
0
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
8 avril 2011 à 15:50
enfait pour ce qui concerne as3 je ne my met pas car on ma dit que c'etait plus dure que l'as2 et que celui qui ne maitrise pas as2 ne peux coder en as3 je ne sais pas si c'est vrai mais bon vue que je suis une bille en as2...


Justement : si tu ne maîtrises pas l'as2... Autant apprendre directement l'as3 , ce n'est pas plus compliqué que l'as2, disons simplement que ce n'est pas forcément le même raisonnement. Pour ma part je m'y suis mis il n'y a pas longtemps et plus ça va plus je trouve que c'est plus "logique".

pour ton problème de variable texte : charges tes titres en faisant une boucle, et à chaque boucle tu incrémentes un Array() qui stockera les variables dans ton .fla. Ensuite tu n'as plus qu'à appeler l'index souhaité de ton Array() lors du RollOver en rapport sur ton bouton.

A plus ,

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;
0
kwcri Messages postés 23 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 9 mai 2011
8 avril 2011 à 19:27
OK mais ca reste toujours pareil pour mon probleme enfait meme si je stock mes variable dans un array() il faut rappeler la variable depuis mon bouton et mon incomprehension se passe a ce niveau la

comme mon clip est duplique comment dire a mon bouton d'appeler le titre en question
dans l'array

pour exemple:
mon root a un clip qui s'appel : mc
et un champ text dynamique qui a pour variable : t

sur la frame

mon = new Array();
num = 0;

while (num < 2)
{
mon[num] = "titre" + num++;
duplicateMovieClip(mc, "mc" + num, this.getNextHighestDepth());
mc._y = mc._y + 200;

}
// Et dans mon clip ya un bouton avec l'action suivante: 

on (release) {_root.t=_root.mon[num];
}



je me doute bien que ce que je fais n'est pas bon mais bon....

je sais que je te le dis souvent mais Merci encore !!
0

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

Posez votre question
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
8 avril 2011 à 22:25
Bonjour,

Il suffit que tu declare une nouvelle propriété a ton bouton; ou tu peux stocker l'info.

MCcontenantlebouton.titre="blablabla".

Du coup pas besoin d'aller chercher dans ton array le titre, vu qu'il est directement associé au bouton.

Pourquoi faire compliqué quand on peux faire simple?
0
kwcri Messages postés 23 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 9 mai 2011
9 avril 2011 à 04:52
Bonjour aerolyte,
je vais essayer ta solution et je te tiens au courant!
mais je suis toujours tres curieux et desireux de savoir comment

"appeler l'index souhaité de mon Array() lors du RollOver en rapport sur mon bouton..."

Merci bcp.

ps: BBFUNK01 ne m'abandonne pas !! lol
0
kwcri Messages postés 23 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 9 mai 2011
9 avril 2011 à 09:13
Re Aerolyte, ca ne marche pas puis j'aurais besoin de comprendre...
mc.titre="blablaba";
ce qui signifierais que dans mon clip mc il y est une variable qui s'appelerai titre?
0
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
9 avril 2011 à 17:53
bonjour,

Oui, la classe movieclip est une classe qui par défaut accepte l'ajout de prpriétés.
Du coup a aprir du moment ou tu déclare cette proppriété sur un movieclip, elle existe aussi longtemps que le movieclip.

du coup:
mc.mapropriété="blabla";
déclare et attribue une valeur, a cette prpriété.

si tu fais trace(mc.mapropriété);
tu auras bien "blabla" en sortie.

on peut aussi écrire:
mc["mapropriété]="blabla"
0
kwcri Messages postés 23 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 9 mai 2011
9 avril 2011 à 19:23
Bonjour,
Merci pour ton expliquation tres claire.
Cela etant, meme si je comprends bien ce que tu me dit et qui marcherais sans problem si j'avais un mc avec un bouton a linterieur et dont je connais le nom d'occurence de mon mc en question cependant, la ou je bloque, c'est que je duplique mon mc. je t'explique:

sur ma scene j'ai un champ de text avec pour nom d'occurence : titre
un mc avec un bouton a l'interieur avec pour nom d'occurence : aa
je charge au depart de mon annim mes variables qui sont ds un fichier .txt
titre1=blabla
&titre2=blabla2 ect...

// la ou commence les ennuies
je fait une boucle pour dupliquer mon mc 5 fois (par exemple) avec une auto-incrementation +1 a son nom d'origine

j'obtient donc mes 5 mc avec pour nom aa1, aa2, aa3, aa4, aa5

jusque la ca va ! mais ce que je veux et qui ne marche pas... c'est que quand je clic sur le bouton de mon aa1, mon text qui est sur mon root soit egale a mon titre1 ect ect

j'ais donc essayé de mettre dans ma boucle:
aa.titre=this."titre"+i;(i etant mon incrementation)
et comme tu t'en doute il y a que aa(le clip d'origine qui prend la variable)
"aa"+i.titre=this."titre"+i; ne marche pas.

je c'est que c'est pas tres bien expliquer mais bon,

en gros

aa1=titre1
aa2=titre2 ect
ET
quand je clique sur aa1 >> _root.titre=this.titre1
quand je clique sur aa2 >> _root.titre=this.titre2

Merci de me lire :D
0
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
9 avril 2011 à 23:24
tu es pas loin de la solution (je te la donne en as3)

deja utilise un xml, cela te facilitera la chose:
une fois que tu as chargé ton xml dans un object xml(par exemple: Xlist)

for(var i:int=0 i<Xlist.elem.length:i++){
  //tu  vas créer alors créer un bouton a chaque incrémentation
  //a titre d'exemple:
  var Sp:Sprite=new Sprite();
  Sp.name="sp"+i;
  Sp.buttonmode=true;
  //vu que ton incrementation est callé sur le nombre de noeud de ton xml,     tu peux directement ciblé un noeud pour chaque valeur de i
  Sp.titre=Xlist.elem[i];

  addChild(Sp);
  //+ajout de l'ecouteur d'evenement
}
0
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
9 avril 2011 à 23:29
Re
en même temps utilise plutot un object movieclip, car il accepte naturellement des nouvelles propriétes.

Pour un Sprite ou autre object, c'est un peu plus compliqué

dans ta boucle tu porra définir aussi bien le x ou tout autre prpriétés intégrées.

par exemple:

Sp.x= 20+(12*i);
0
kwcri Messages postés 23 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 9 mai 2011
10 avril 2011 à 09:07
merci. cependant je ne connais pas l'As3
dans ton code je ne vois ny duplication de mc ou bouton(je me doute que tu la mis mais ne connaissant pas l'as3 ... enfin il me faudrait quelqu'un qui maitrise l'as2 car dans la mesure ou j'ai deja 80% de mon site fait en as2 , connaissant pas l'as3 je me voit mal apprendre l'as3 puis tout recoder en as3 dns mon site cela me prendrait trop de temps...j'aimerais rester sur mon exemple precedent... je sais que ce n'ai pas evident pour vous pro de l'as3 de devoir aider ceux qui sont toujours a l'as2... promis dans mon prochain site je me met a l'as3 ! en attendant ... please help me
0
Rejoignez-nous