Cibler un clip avec nom du clip dans une variable

cameux Messages postés 3 Date d'inscription vendredi 6 février 2004 Statut Membre Dernière intervention 21 mars 2006 - 31 janv. 2006 à 15:34
slagt Messages postés 232 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 29 mars 2011 - 31 janv. 2006 à 23:03
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

slagt Messages postés 232 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 29 mars 2011
31 janv. 2006 à 23:03
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.


^^
0