Boutons sur un clip dynamique - Flash/ActionScript - Programmation
Marsh Posté le 03-01-2008 à 08:10:29
Quant tu trace() ton tableau ca donne quoi ?
Sinon moi pour ecrire mon tableau, j'aurai fait une boucle for avec un push a l'interieur ... C'est plus simple quand meme
Marsh Posté le 03-01-2008 à 10:03:45
Zedlefou a écrit : Quant tu trace() ton tableau ca donne quoi ? |
Bon là je suis au boulot et je peux pas tester mais voici une piste.
Quand le clip apparait, je vois mes boutons et ceux-ci reagissent en tant que boutons (ils changent d'etat quand je passe dessus etc). J'imagine donc qu'ils sont bien reconnus.
Sauf que je m'arrange pour qu'ils apparaissent 1 à 1, et donc je joue sur l'alpha par exemple, et c'est là que ça bloque, en fait ça doit vraiment être une question de this ou _root ou je ne sais quoi, un préfixe à mettre ou à enlever.
edit : c'est quoi une boucle for avec un push à l'intérieur ? lol
Marsh Posté le 03-01-2008 à 10:47:55
ok, je viens de me rendre compte d'un truc .... tu dois enlever tes accents dans tes noms d'occurence
Deja.
Ensuite tu peux pas utiliser les noms d'occurences des clips qui sont dans un clip que tu attaches a la scene ... c'est comme ca, ca marche pas.
Ton sous clip va s'afficher, mais tu ne pourras plus y acceder.
Pour la boucle tu fais ca :
var mesboutonsGOA : Array = new Array ();
for (var i = 1; i <= 22; i ++)
{
mesboutonsGOA.push (ItineraireTotal_mc ["ItineraireDay" + i + "_btn"])
}
Mais bon ca marchera pas mieux pour les 2 raisons plus hauts
Si tu veux palier facilement a ton probleme, tu peux juste mettre le clip qui contient les boutons en dehors des limites de la scene.
Par exemple monClip._x = -300;
et a chaque fois que t'en as besoin tu le fais apparaitre
monClip._x = 100
Tout simplement.
Marsh Posté le 03-01-2008 à 11:13:37
Zedlefou a écrit : ok, je viens de me rendre compte d'un truc .... tu dois enlever tes accents dans tes noms d'occurence |
Si je comprends bien, dés lors que je veux "manipuler" un clip, il vaut mieux ne pas l'appeler de façon dynamique ?
Alors je reste sur ma première solution ou j'avais mon clip sur la scène principale, et je le fais apparaitre qds j'en ai besoin...
Mais je risque d'avoir des dizaines de clips dans ce cas de figure, et ça va ramer ! Déjà une simple tween commence à saccader..
Ou alors y'a une difference de perf entre un clip hors limites et un clip dedans mais non visible...?
J'appliquerai tes conseils ce soir, merci !
Marsh Posté le 03-01-2008 à 11:41:36
Heu ramer a ce niveau la c'est un peu bizarre.
Soit ton PC est prehistorique, soit tu animes des objets beaucoup trop lourd. MAis c'est vrai que pour des clips imbriques c'est pas genial de les charger dynamiquement. Sauf si tu les creees tous dynamiquement...
Marsh Posté le 03-01-2008 à 11:52:38
Zedlefou a écrit : Heu ramer a ce niveau la c'est un peu bizarre. |
Le PC est récent..
Pour info, j'en suis venu à cette méthode parce que j'ai par exemple une photo en jpeg (100ko) que j'ai importée, mise dans un clip, ce même clip posé dans ma scène mais invisible et rendu visible si nécessaire. Du coup, des tweens de zoom n'étaient plus fluides.
En choisissant de la mettre sur la scène par attachmovie, hop fluide. Je me suis dit qu'on pouvait bien généraliser du coup...
Marsh Posté le 03-01-2008 à 11:58:34
hmmm je comprends pas trop, si jamais t'as le .fla, je suis preneur
Marsh Posté le 03-01-2008 à 12:17:48
Zedlefou a écrit : hmmm je comprends pas trop, si jamais t'as le .fla, je suis preneur |
je te l'enverrai ce soir si tu veux, t'auras le droit de critiquer vu que c'est le premier que je fais hihi
Marsh Posté le 02-01-2008 à 22:50:51
Bonjour,
Je réalise une carte interactive.
Dans un premier temps j'avais posé des clips sur la scène et je jouais sur _alpha etc. Je me suis rendu compte des limites de perf et maintenant je les appelle de façon dynamique. Ca pose néanmoins des problème pour un certain clip contenant des boutons.
Je l'attache :
_root.attachMovie("ItinéraireTotal_GOA","ItinéraireTotal_mc",2);
Dans ce clip j'ai des boutons que j'avais mis dans un tableau :
var mesboutonsGOA:Array = new Array(
ItinéraireTotal_mc.ItinéraireDay1_btn,
ItinéraireTotal_mc.ItinéraireDay2_btn,
ItinéraireTotal_mc.ItinéraireDay3_btn,
ItinéraireTotal_mc.ItinéraireDay4_btn,
ItinéraireTotal_mc.ItinéraireDay5_btn,
ItinéraireTotal_mc.ItinéraireDay6_btn,
ItinéraireTotal_mc.ItinéraireDay7_btn,
ItinéraireTotal_mc.ItinéraireDay8_btn,
ItinéraireTotal_mc.ItinéraireDay9_btn,
ItinéraireTotal_mc.ItinéraireDay10_btn,
ItinéraireTotal_mc.ItinéraireDay11_btn,
ItinéraireTotal_mc.ItinéraireDay12_btn,
ItinéraireTotal_mc.ItinéraireDay13_btn,
ItinéraireTotal_mc.ItinéraireDay14_btn,
ItinéraireTotal_mc.ItinéraireDay15_btn,
ItinéraireTotal_mc.ItinéraireDay16_btn,
ItinéraireTotal_mc.ItinéraireDay17_btn,
ItinéraireTotal_mc.ItinéraireDay18_btn,
ItinéraireTotal_mc.ItinéraireDay19_btn,
ItinéraireTotal_mc.ItinéraireDay20_btn,
ItinéraireTotal_mc.ItinéraireDay21_btn,
ItinéraireTotal_mc.ItinéraireDay22_btn)
Et là qd je fais
i=0;
trace(mesboutonsGOA[i]._alpha);
ben c'est undefined, j'arrive plus à lui faire reconnaitre mes boutons alors que de manière statique tout se passait bien.
Peut-être est-ce une histoire de profondeur, là j'ai un clip bordure en plus haute profondeur, ce clip en 2, un autre en 1 et c'est tout.
Si vous avez des idées...Merci d'avance !
---------------
Flick r