begin process at 2012 05 26 15:56:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

AS3 problème avec Event listener Child et Parent


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

AS3 problème avec Event listener Child et Parent

jeudi 4 décembre 2008 à 14:57:09 | AS3 problème avec Event listener Child et Parent

KEN_OH

j'ai vraiment fait trop de recherche avant de poser ma question sur ce forum.
bref voila mon problème :
je suis entrain de crée un site web qui contient un barre en bas ou lorsque on met la souris dessus elle affiche une zone ou il y a un contact et projet futured.
j'explique plus le concept : cette barre est un clip que j'ai ajoutée deux EventListener : un MOUSE_OVER et un MOUSE_OUT . dans ce même clip il y a le clip de contact et un clip de futured.

PRROBLEME : Lorsque je passe le souris en dessus du clip j'ai l'animation et la barre s'ouvre MAIS lorsque je passe sur un clip Child ( contact et futured ) c'est comme si j'ai fait un MOUSE_OUT de la zone malgrè que je suis sur le même clip.

CODE :

// Import
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;

//Initialisation
var posnews:int = 0;
var depl:int;
stage.scaleMode="noScale";
stage.align="T";
init();
//
stage.addEventListener(Event.RESIZE, immoresize);
news.addEventListener(MouseEvent.MOUSE_OVER, opennews,false,0,true); //news est le nom de la barre
function init():void
{
    news.x=-(Math.round((stage.stageWidth-1050)/2));
    news.y=500;
    menu.x=-(Math.round((stage.stageWidth-1050)/2));
    menu.y=-27;
    menu.nav.x=stage.stageWidth - 340;
    depl = stage.stageHeight - 400;
}

function opennews(e:Event):void
{
    if (stage.stageHeight<960) {
        news.removeEventListener(MouseEvent.MOUSE_OVER, opennews);
        var tw = new Tween(news, "y", Bounce.easeOut, 500, depl, 1.5, true);
        tw.addEventListener(TweenEvent.MOTION_FINISH, onFinish);
    }
}

function closenews(e:Event):void
{
    if (stage.stageHeight<960) {
        news.removeEventListener(MouseEvent.MOUSE_OUT, closenews);
        var tw = new Tween(news, "y", Bounce.easeOut, depl, 500, 1.5, true);
        tw.addEventListener(TweenEvent.MOTION_FINISH, onFinish1);
    }
}

function onFinish(e:TweenEvent):void {
    posnews=1;
    news.addEventListener(MouseEvent.MOUSE_OUT, closenews,false,0,true);
}

function onFinish1(e:TweenEvent):void {
    news.addEventListener(MouseEvent.MOUSE_OVER, opennews,false,0,true);
    posnews=0;
}

//le code est un peut en desordre avec des instruction en trop car j'ai fait plusieur essais et c'est le plus stable.
meci pour vos reponses !
jeudi 4 décembre 2008 à 17:42:17 | Re : AS3 problème avec Event listener Child et Parent

inaden

Salut,
pour ma part je galère avec l'as3, mais j'ai vu un truc qui concernait ce type de problème (ou approchant) et il falait cibler le clip qu'on voulait désactiver avec mouseChildren = false;
Donc pour toi contact.mouseChildren = false et futured... à moins que ce soit le contraire ou que cela ne fonctionne pas du tout !  
Bonne chance

Tout vient à qui sait attendre
vendredi 5 décembre 2008 à 11:59:02 | Re : AS3 problème avec Event listener Child et Parent

KEN_OH

Merci pour votre réponse mais en utilisant le mouseChildren = false; je peut plus crée des boutons dans le clip Child (contact ou futured ) ce qui est nécessaire pour passer le formulaire de contact ou autre .
vendredi 5 décembre 2008 à 14:10:56 | Re : AS3 problème avec Event listener Child et Parent

inaden

Désolé, ce doit être une question "d'écouteur"... je sais pas comment, mais il doit être possible de bloquer les choses fonction de la position de ta souris., du genre, si ma souris est en dessous de telle position, mon truc s'active, si elle est au dessus, mon truc se désactive.
Je sais, ça te dis pas comment faire, mais c'est peut-être une autre piste.

Bon courage

Tout vient à qui sait attendre
samedi 6 décembre 2008 à 12:26:24 | Re : AS3 problème avec Event listener Child et Parent

crackter

pour résoudre ton soucis, il y a plusieurs manière, mais une des plus simples reste quand meme le fait de gérer un autre clip sur ta scène, je m'explique :

XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
OOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOO

image que les X sont un clip qui correspondent au fond de ta scène et les O ton clip de news, il suffirait de mettre les évènements MOUSE_OVER sur les O pour ouvrir les news et MOUSE_OVER sur les X pour fermer les news. le MOUSE_OVER de news s'efface quand tu survol les O et revient quand tu survol les X.
samedi 6 décembre 2008 à 12:27:07 | Re : AS3 problème avec Event listener Child et Parent

crackter

P.S. : donc tu ne gères pas de MOUSE_OUT sur tes news (je sais pas si je suis très clair :p)
samedi 6 décembre 2008 à 12:59:47 | Re : AS3 problème avec Event listener Child et Parent

KEN_OH

XD
Merci beaucoup c'est une bonne idée, je l'utilisais avant sous Macromedia Director car il y avait un conflit avec le MouseOut. je sais pas pourquoi je l'ai oublié .
re merci, je vais l'implémenter immédiatement.
j'ai eut par contre une autre idée voila un schéma avec des "O" , des "X" et des "="

XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
=================================
OOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOO

"X" = scène principal
"O" = clip news
"=" = bordure du clip news

j'ai eut l'idée de faire un EventListener sur la scène principale (X) qui détecte la position de la souris puis je gère le deplacement de la barre news selon la position de la souris par rapport a la position Y du clip news : si la souris est en dessus je fait l'action RollOut sinon l'action du RollOver.

mais je vais utiliser votre solution
samedi 6 décembre 2008 à 16:07:35 | Re : AS3 problème avec Event listener Child et Parent

crackter

Oui ça peut être une autre idée, suivant le besoin derrière ça peut être même plus intéressant, après tout dépend du besoin :).

Sinon à savoir que l'écouteur écoute (woaa c'est magique ^^) chaque évènement d'après un dispatchEvent envoyé par l'objet en question, c'est à dire que le rollover est lancé moins souvent qu'un mousemove ou qu'un enterframe (normalement ) donc moins gourmand en ressources.
mardi 6 octobre 2009 à 21:42:00 | Re : AS3 problème avec Event listener Child et Parent

barockeuse

Je sais que je réponds un peu tard .. mais ça pourra servir à d'autres.

Il semble que ce soit le choix de la méthode.

Pour récapituler :

* MOUSER_OVER et MOUSE_OUT notifie chaque clip survolé par la souris, pères et fils ..
* ROLL_OVER et ROLL_OUT notifie uniquement le survol du clip écouté (indépendamment des clips à l'intérieur)

Voir ce lien http://www.astorm.ch/blog/index.php?post/2008/03/13/rollOver/rollOut-vs-mouseOver/mouseOut

"L'événement rollOut a pour objet de simplifier le codage des comportements de survol des conteneurs d'objet d'affichage avec enfants. Lorsque la souris quitte la zone d'un objet d'affichage ou de l'un de ses enfants pour atteindre un objet qui ne fait pas partie de ses enfants, l'objet d'affichage distribue l'événement rollOut. Ce comportement diffère de celui de l'événement mouseOut, qui est envoyé lorsque la souris quitte la zone d'un objet enfant du conteneur d'objet d'affichage, même si la souris reste au-dessus d'un autre objet enfant du conteneur d'objet d'affichage."

ça répond peut-être à la question ...


Cette discussion est classée dans : clip, stage, news, mouse, addeventlistener


Répondre à ce message

Sujets en rapport avec ce message

deplacement d'un clip pour en activer un autre [ par zak2mars ] Bonjour.Je suis débutant en Flash (donc en as3), ce qui ne m'empêche pas de faire un site simple tout en flash.J'ai actuellement un petit souci.En fai Comment maintenir un clip toujours en bas de la fenêtre du navigateur?? [ par laure1203 ] Bonjour, j'ai trouvé un tuto qui permet de placer une animation .swf en bas de la fenêtre du navigateur, quelque soit le redimentionnement. Merci à HO redimentionner un clip proportionnellement (Tween) [ par kenshir0H ] Bonjour, je voudrais pouvoir redimensionner un clip proportionnellement au navigateur, sans pour autant qu'il ne prenne tout l'espace de la scène. AS3: Loader? [ par diabolo7346 ] Bonjour je dois créer un site web entièrement en flash et je rencontre un problème pour ce qui est du menu. Je dois donc utiliser un loader de .swf (o Ecouter les évènements souris sur un clip caché sous un autre [ par projer ] bonjour, comme le dit le titre, j'ai un clip avec un écouteur MOUSE.CLICK qui passe sous un autre clip qui a pour écouteur un MOUSE.ROLL_OVER Je vou Stage.width , _xmouse , et clip qui bouge : un joyeux bordel ! [ par PEHA ] Et bonjour tout le monde ! De retour avec un nouveau problème qui me donne des migraines. Le concept est assez précis, donc pas facile de trouver un t dynamique resize alignement [ par timore ] Bonjour,J'ai un problème sur ce script qui permet de garder les movie clip centrer en tenant compte de la résolution de l'écran, tout fonctionne bien chargement d'un fichier texte externe [ par bobstar ] Bonjour à tous et à toutesPour commencer, et surtout pour m'excuser, je ne suis qu'une simple infographiste, alors AS et moi on est pas encore pote lo je veux faire un full screen redimensionnable selon une resolution [ par kirkseb ] g besoin de faire un full screen avec un fond decran qui se redimmenssione selon la resolutionvoila ce que j'ai fait pour l'instant:Stage.align = "TL" redimensionnement d'un clip [ par BirD ] Hello tout le monde. Dans mon code, je fais un attachmovie 5 fois de suite. Chaque attachmovie contient une news. Une fois que chaque clip a été charg


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales