évènement et clips imbriqués

chucalim Messages postés 3 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 25 août 2004 - 12 août 2004 à 23:11
cs_adv Messages postés 149 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 28 janvier 2011 - 26 août 2004 à 10:17
Salut à tous,

mon problème est le suivant :

sur ma scène j'ai deux clips imbriqués :

level0
- level0.clip1
- level0.clip1.clip2

sur une image du scénario principal j'ai le code suivant qui fonctionne parfaitement :
clip1.onRollOver = function(){
trace("test1") ;
}

j'aimerais pouvoir de la même façon gérer des évènement avec le clip2.
j'ai essayé :

clip2.onRollOver = function(){
trace("test2") ;
}
(codé dans le scénario principal ou
codé dans le clip 1)

clip1.clip2.onRollOver = function(){
trace("trace2") ;
}

dans les trois cas, il ne se passe rien.
par contre si je mets dans le scénario principal :
clip1.clip2._visible = false;
le clip n'apparaît pas, le chemin est donc correct et le clip connu.

merci de votre aide...

5 réponses

cs_adv Messages postés 149 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 28 janvier 2011 2
13 août 2004 à 11:42
Hello,
le problème vient probablement du fait que si le clip 1 comporte l'événement onRollOver, il est aussi appliqué à tout son contenu. Donc tu ne peux pas faire un onRollOver sur un clip contenu dans un clip qui à cette methode utilisée.
Il faudrait faire un on RollOver sur un Objet du clip1 (qui n'est pas clip2) et ensuite tu peux utiliser onRollOver sur le clip2.
C'est un peu pas très claire je pense, si tu n'as pas compris fait moi signe.
0
chucalim Messages postés 3 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 25 août 2004
24 août 2004 à 20:11
de cette façon en effet, le clip 2 devient actif MAIS
le problème est qu'alors le clip 2 n'est plus imbriqué dans le clip 1 ! Donc quand la souris sors du clip 2 alors qu'elle est toujours dans l'espace délimité par le clip 1, l'évènement onRollOver du clip 1 se déclenche.

Disons que le clip 1 est un très grand carré au milieu duquel il y a un petit rectangle, le clip 2.

Comment faire pour que onRollOver sur clip 1 ne se déclenche QUE lorque la souris rentre dans l'espace le plus grand, et que onRollOver sur clip 2 se décenche aussi lorsque la souris entre dans le petit rectangle ?

merci
0
cs_adv Messages postés 149 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 28 janvier 2011 2
25 août 2004 à 10:02
Pour le faire, il ne faut pas travailler avec 2 clips, mais 1 seul comportant les deux objets.
Premier calque, le carre nommé form1.
Calque au dessus, le rectangle nommé form2.
et le script :
form1.onRollOver = function(){
trace("form1");
}
form2.onRollOver = function(){
trace("form2");
}
Ainsi, il n'y a pas de problème.
0
chucalim Messages postés 3 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 25 août 2004
25 août 2004 à 19:31
j'ai fait ce que tu me dis, mais le pb persiste :

quand je sors de form2, l'évènement form1.onRollOver se déclenche.

j'ai l'impression que ce que je veux faire n'est pas possible...
0

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

Posez votre question
cs_adv Messages postés 149 Date d'inscription vendredi 30 mai 2003 Statut Membre Dernière intervention 28 janvier 2011 2
26 août 2004 à 10:17
Hello,
il ne faut pas penser que ce n'est pas possible, le code suivant doit faire ce que tu veux :
--------------------------------
sortForm2 = false;
form1.onRollOver = function(){
if(!sortForm2){
trace("form1");
}else{
sortForm2 = !sortForm2;
}
}
form2.onRollOver = function(){
sortForm2 = true;
trace("form2");
}
--------------------------------
Il faut juste contrôler que lors du rollOver sur la form1, on ne sort pas de la form2.
J'espère que c'est ce que tu voulais faire.
A plus
0
Rejoignez-nous