Boutons sur un clip dynamique

Boutons sur un clip dynamique - Flash/ActionScript - Programmation

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
Reply

Marsh Posté le 02-01-2008 à 22:50:51   

Reply

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 :D
 


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 03-01-2008 à 10:03:45    

Zedlefou a écrit :

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 :D
 


 
 
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


Message édité par preem le 03-01-2008 à 10:08:07

---------------
Flick r
Reply

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. :)


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

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 :/
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. :)


 
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 !
 


Message édité par preem le 03-01-2008 à 11:14:44

---------------
Flick r
Reply

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...
 
 


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 03-01-2008 à 11:52:38    

Zedlefou a écrit :

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...
 
 


 
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...
 
 


---------------
Flick r
Reply

Marsh Posté le 03-01-2008 à 11:58:34    

hmmm je comprends pas trop, si jamais t'as le .fla, je suis preneur :)


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

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


---------------
Flick r
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed