Holà du calme ^^

>j'ai vraiment pas le temps d'ecrire le code pour toi
>mais essaye de definir 2 events de type different avec 2 fonction
>listener qui acceptent
>un type different et je suis a peu pres sur a 99% que ca marchera

J'ai fait ce que tu proposais, comme indiqué dans le message précédent
ça provoque une erreur au runtime : il y a 2 handlers attendant deux
types différents d'event, donc un sur les deux crashe l'appli, vu
qu'il reçoit (par exemple) InteractiveScene3DEvent au lieu de
MouseEvent. Donc j'ai sous-casté en Event qui la super-classe de ces
évenements.

Mais une fois que j'ai fait cette modif, rien ne change, à part que je
doublonne deux handlers ^^

Sans compter l'aspect irrationnel :

trace(InteractiveScene3DEvent.OBJECT_OVER ===
MouseEvent.MOUSE_OVER); // renvoit "true"

> meme si la string est indentique le type est different

:/ J'avoue ne pas comprendre cette phrase. Le fait que ces deux
Strings soient des membres statiques publiques de deux classes
différentes n'empêche pas qu'elles sont rigoureusement identiques en
valeur et en type. Tu peux même essayer de faire ceci pour vérifier :

clip_mc.addEventListener('mouseOver', onMouseOver);

ce qui revient à

clip_mc.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);


et n'influe pas (du tout) sur :

function onMouseOver(e:MouseEvent):void

où e sera toujours MouseEvent de toute façon. MouseEvent.MOUSE_OVER
est une chaine comme une autre et le fait d'utiliser sa valeur
littérale ou une référence statique(MouseEvent.MOUSE_OVER) n'influe
pas sur le type d'événement attendu par le handler.

Tu peux remplacer toutes tes constantes Event.FOO dans tout ton code
par des chaines de valeurs équivalentes, ça ne changera pas le type
d'evenements renvoyés.





On 17 sep, 13:45, zwetan <[EMAIL PROTECTED]> wrote:
> > attention, je n'ai pas dû bien expliquer dans mon message précédent :
> > - la syntaxe d'addEventListener c'est obj.addEventListener
> > ( CONSTANTE:String, handler:Function);
>
> euh... ah oui c'est vrai j'avais pas vu
> j'ai du commencer AS3 il y a juste 2 jours en fait
>
> > - or, InteractiveScene3DEvent.OBJECT_OVER == MouseEvent.MOUSE_OVER, en
> > réalité ces deux constantes sont des références vers la même chaine
> > "mouseOver",
>
> meme si la string est indentique le type est different
>
> > - donc addEventListener(InteractiveScene3DEvent.OBJECT_OVER, onHnd)
> > est totalement identique à addEventListener(MouseEvent.MOUSE_OVER,
> > onHnd);
>
> non du tout
>
> mais tu vois je pari que tu pas essaye
>
> > > oui mais leur typage n'est pas équivalent
>
> > Oui, donc ça plante au runtime si je fais ça. 2 handlers différents
> > sont appelés pour un seul événement, dont le type n'est pas le bon une
> > fois sur deux. Je peux éventuellement créer deux handlers inutiles, si
> > je déclare le type de l'Event différemment, si je le type selon la
> > super-classe Event dont dérivent ces 2 événements :
> > - private function onVirtualMouseOver(e:Event):void
> > - private function onPlaneOver(e:Event):void
>
> non, tu peux avoir 2 fonctions qui recoivent 2 type different d'event
> a condition de d'abord ajouter les bon addListener
>
> > Mais ça ne fonctionne pas non plus. Aucun des deux n'est apppelé au
> > passage du curseur virtuel au-dessus du plan.
>
> j'ai vraiment pas le temps d'ecrire le code pour toi
> mais essaye de definir 2 events de type different avec 2 fonction
> listener qui acceptent
> un type different et je suis a peu pres sur a 99% que ca marchera
>
> apres si tu n'essaye pas dans le code et que tu reste blocke sur
> "han mais euh c'est 2 strings indentique"
> je peux pas faire grand chose de plus pour toi
>
> zwetan
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de 
Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [EMAIL PROTECTED]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/FCNG?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à