Plusieurs Clips, une seule action ? (Raccourcis)

Résolu
PEHA Messages postés 81 Date d'inscription mardi 10 août 2004 Statut Membre Dernière intervention 15 décembre 2009 - 14 déc. 2008 à 19:56
PEHA Messages postés 81 Date d'inscription mardi 10 août 2004 Statut Membre Dernière intervention 15 décembre 2009 - 15 déc. 2008 à 07:39
Bonjour à tous et merci pour l'aide précieuse que procure un tel forum !
Néanmoins, après quelques recherches, je ne trouve réponse à mon problème :s

Je travaille sur un site internet en flash AS2, contenant un grand nombre de clip (qui me servent de boutons). En compter environ 81 (oO).
Or, mes maigres bases de programmation me conduisent à placer ce code sur mon image :

btnALL.onPress = function(){
    this.gotoAndPlay(2);
    menu.a1._alpha = 100;
    menu.a2._alpha = 100;
    menu.a3._alpha = 100;
    menu.a4._alpha = 100;
    menu.a5._alpha = 100;
[...]
    menu.a78._alpha = 100;
    menu.a79._alpha = 100;
}

etc...

Bref, une démarche assez laborieuse, qui en ferait je pense rire plus d'un.
Mes recherches m'ont alors conduit vers "les boucles For", terme tellement obscur pour moi que je n'ai pas vraiment donné de suite.
Voici donc l'intitulé de ma question : est-il possible de raccourcir ce code, donnant un truc du genre "menu.a1,menu.a2,...._alpha = 100;" ? Un seul code pour PLUSIEURS boutons... Sachant que je ne veux pas réduire l'alpha sur "menu" (le conteneur des boutons A., puisque certains boutons A ne doivent pas être affectés, mais ça c'est un autre problème...) Les cloques sous mes doigts sont de plus en plus grosses, alors si oui, pourriez vous m'expliquer avec des mots gentils ?

Merci d'avance !

5 réponses

on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
15 déc. 2008 à 00:38
Non mais si tes clips a sont dans menu, c'est a qu'il faut incrémenter soit un truc du genre
menu.bande1["a"+i]._alpha=100;

Et pourquoi tu ajoutes this._alpha = 100; ? Je l'ai mis comme ça juste pour l'exemple, là c'est btnALL également qui choppe l'alpha ...

@+.
telov.ch
3
on_drag_on Messages postés 1236 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 6 octobre 2010
14 déc. 2008 à 20:10
Salut,
Un exemple: On a 20 clips que l'on nomme clip1, clip2, clip3 etc... surlequelles on veut appliquer un alpha à 50:

for (var i:Number=1;i<21;i++)
// i est initialisé à 1, si i est plus petit que 21 alors on l'incrémente
{
this["clip"+i].onPress = function()
{
this._alpha=50;
}

@+.
telov.ch
0
PEHA Messages postés 81 Date d'inscription mardi 10 août 2004 Statut Membre Dernière intervention 15 décembre 2009
14 déc. 2008 à 22:19
wow ok, donc nous voilà dans les fameuses "boucles for"... damned.

Voici l'action que j'ai mise sur ma frame :

btnALL.onPress = function(){
    for (var i:Number=1;i<100;i++)
    {
["menu.bande1.a"+i]_alpha = 100
}

    this._alpha = 100;
};

J'ai voulu : premièrement redonner l'alpha100 a tous les clips (a1, a2, a3, etc...) qui sont dans : "_root.menu.bande1", et enfin redonner au passage l'apha100 au "btnAll"...

Après mettre battu avec les accolades pour faire taire la vérification automatique, ça ne me débloque pas...
Un dernier coup de pouces serait les bienvenus, histoire de piger ces boucles ;)
0
PEHA Messages postés 81 Date d'inscription mardi 10 août 2004 Statut Membre Dernière intervention 15 décembre 2009
14 déc. 2008 à 23:36
Bon ça bloque toujours, après quelques recherches, mon problème se resserre sur le "ciblage avec crochet"...
Un type parlait de mettre "l'enfant" en dernier (donc mon clip "a") + son parent . son parent . le root
Mais du fait qu'il y ait une variable entre tout ça, le script ne marche pas vraiment comme prévu et me met un alpha100 sur toute ma scène... Erf

J'en arrive donc à :

btnALL.onPress = function(){
    for (var i:Number=1;i<3;i++)
    {
["a"+i+bande1.menu._root]_alpha=100;
}

    this._alpha = 100;
};

Je précise que btnALL est sur le _root, tout comme le clip "menu".

et pouf... help
0

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

Posez votre question
PEHA Messages postés 81 Date d'inscription mardi 10 août 2004 Statut Membre Dernière intervention 15 décembre 2009
15 déc. 2008 à 07:39
Yahoo, merci beaucoup de ta patience, 
menu.bande1["a"+i]._alpha=100;
marche effectivement ! Je rajoutais desesperemment un dot, et ça donnait : menu.bande1.["a+i"]_alpha=100; j'ai compris l'erreur :s
Merci encore, ++ !
0
Rejoignez-nous