Cibler un clip avec nom du clip dans une variable

Signaler
Messages postés
3
Date d'inscription
vendredi 6 février 2004
Statut
Membre
Dernière intervention
21 mars 2006
-
Messages postés
232
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
29 mars 2011
-
Bonjour,
j ai un petit souci,

j ai une variable "encours" declarer au niveau supérieur ou je stock le numero du clip qui est ouvert (clip qui a un nom du type "bulle1", "bulle2" etc..) et j aimerai que lorsque je clic sur un bouton cela supprime le clip en cours or flash ne comprend que >> "bulle"+_parent.encours << correspond à un clip, j ai trouvé des trucs avec "eval" mais en vain.

Donc si qq voit ce que je veux dire ou comment m'aider à avancer qu'il me fasse un pitit signe ;)

merci

voila le code:
on (release) {
"bulle"+_parent.encours._visible = 0;//ligne qui merde
_parent.b1._visible = 1;
_parent.encours = 1;
}

1 réponse

Messages postés
232
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
29 mars 2011

Ce serait plus pratique si tu oubliais toutes ses conneries de "on
(release)" et compagnie (pardonne moi pour cette entrée en matière, ce
n'est pas toi que je vise ;) !



Reviens sur la frame principale de ton animation. Ensuite, tu pourras travailler correctement.



Au lieu de on (release) { } que tu mets SUR ton clip, c'est mieux d'utiliser CLIP.onRelease = function () { }


Ici, ça fera :

tonClip.onRelease = function ()

{

this._parent["bulle"+_parent.encours]._visible = false;

this._parent.b1._visible = true;

this._parent.encours = 1;

}



L'interêt de cette notation est qu'elle peut s'appliquer sur un clip
posé dynamiquement, c'est beaucoup mieux de prendre l'habitude. De
plus, avec cette méthode tu peux définir de façon dynamique des actions
sur un ensemble de clips déjà posé sur la scène (plutot que de faire un
copier coller !).

Et enfin, tu peux appliquer un code de ce genre directement dans un
clip de ta bibliothèque, et en ajoutant à ta scène (dynamiquement) ce
clip, il prendra automatiquement le code que t'auras mis à l'interieur.



Bref, pour ton problème, il faut utiliser la notation par crochet.

Tu commence par ciblé le clip qui contient bulle+N. Dans l'exemple au
dessus, j'ai pensé que ta bulle était au niveau superieur, mais je n'en
suis pas sûr, donc adapte à ta façon.

Ensuite, tu ouvres un crochet, et tu met dedans le nom de ta variable (qui peut tout aussi bien être un clip).

Et tu fermes le crochet. Note que le point (dot : ".") qui précède le
clip ciblé n'est plus effectif. Par contre, celui qui suit est conservé.



Voilà pour ton problème.

Ah oui, encore une chose, là, ton clip bulle+n sera caché ! Mais ne
sera pas supprimer (en fait, il sera invisible, mais il sera toujours
là). Pour le supprimer, tu devras d'abord lui donner une profondeur
positive, et ensuite, le détruire avec removeMovieClip.



this._parent["bulle"+_parent.encours].swapDepths (this._parent.getNextHighestDepth()); //
Ici on échange tout ce qu'il y a au niveau de profondeur suivant LIBRE
avec ce qui est au niveau de profondeur de bulle (avec bulle quoi).

removeMovieClip (this._parent["bulle"+_parent.encours]); // Et là on le supprime. La suppression ne fonctionne que sur un clip ayant une profondeur positive.


^^