Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS3
AS3 Questions relatives à la programmation ActionScript 3 (Cours AS3)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/04/2011, 22h41   #1
Invité de passage
 
Homme Maxime
Étudiant
Inscription : avril 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Maxime
Localisation : France, Jura (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 3
Points : 1
Points : 1
Par défaut Evenement de souris sur un clip dans un clip

Bonjour,

Je débute avec Flash CS5 et AS3.
J'ai un petit problème avec des clips. En effet, j'ai créé un clip (pour un bouton de menu, classe MenuButton) qui a la comportement d'un bouton (mouseChildren = true), ce bouton hérite donc de MovieClip. Cependant, dans ce clip, j'ai un SubMenu (un clip servant de conteneur) qui contient à son tour des clips au comportement de bouton (classe SubMenuButton).
Le problème c'est que quand je place ma souris sur un MenuButton, j'ai bien le sous-menu avec les sous-liens qui apparaissent, mais ces derniers ne sont pas cliquables. En effet, quand je clique, seul le MenuButton reçoit le clic.
Bien sûr, je peux dispatcher l'event dans le sous-menu, mais une fois dans le sous-menu, je ne sais pas comment faire pour savoir sur quel lien on a cliqué.
Bref, je suis bloqué, j'espère que vous avez compris mon problème pas forcément facile à expliquer...

Merci d'avance pour vos réponses .

PS : si j'utilise des clips pour mes boutons, c'est justement pour pouvoir faire des addChild() dedans (chose impossible avec SimpleButton).
mcc39 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 16h58   #2
Membre régulier
 
Avatar de SnowStyle
 
Homme
Développeur Web
Inscription : octobre 2005
Messages : 68
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2005
Messages : 68
Points : 73
Points : 73
J'avais lu mais je n'avais pas su quoi répondre étant donner que je n'avais pas très bien compris ton problème.
Je n'ai toujours pas compris hein mais si ton problème est toujours d'actualité et vu que personne ne s'est manifesté, je t'invite à ajouter un ou des bouts de ton code.

Tu sais, ici on parle pas trop le français mais plutôt le code

En tout cas j'ai compris que tu as un bouton qui pop une fenêtre de boutons et ces boutons sont inopérants, mais difficile de te dire le pourquoi comme ça.
SnowStyle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 19h16   #3
Invité de passage
 
Homme Maxime
Étudiant
Inscription : avril 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Maxime
Localisation : France, Jura (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 3
Points : 1
Points : 1
Bon eh bien tu sembles avoir compris en fait .
En effet, sans code ni rien, difficile de trouver le problème.
C'est pourquoi j'ai mis en ligne le zip de mon projet, il contient notamment un dossier "as" où tout le code est contenu (je précise que c'est un projet pour mes études).

PS : je ne pourrai pas mettre en pratique d'éventuels conseils de façon immédiate car Flash n'est pas installé sur l'ordinateur que j'utilise actuellement.
mcc39 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 21h04   #4
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 604
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 604
Points : 2 233
Points : 2 233
Bonjour,

si des évènement souris sont écoutés sur le menu, les clips contenus ne reçoivent plus ces évènements,
il faut redispatcher sur les clips enfants:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
menu.addEventListener(MouseEvent.CLICK, menuClickHandler);
 
function menuClickHandler(evt:MouseEvent):void
{
    var mc:MovieClip;
 
    for(var i:int=0; i<menu.numChildren-1; i++)
    {
        mc = menu.getChildAt(i) as MovieClip;
        if(mc == null)
            continue;
 
        if(mc.hitTestPoint(evt.stageX, evt.stageY))
        {
            mc.dispatchEvent(new MouseEvent(MouseEvent.CLICK, false));
        }
    }
}
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 21h40   #5
Invité de passage
 
Homme Maxime
Étudiant
Inscription : avril 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Maxime
Localisation : France, Jura (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 3
Points : 1
Points : 1
Merci beaucoup pour votre réponse.
J'avais déjà vaguement pensé à tester la position du curseur pour savoir sur quel bouton dispatcher l'évènement, mais je n'avais pas su le faire.
Je vais donc dès que possible mettre en place cette solution.
Merci encore .
mcc39 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h35.


 
 
 
 
Partenaires

Hébergement Web