IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

TweenEvent et composition


Sujet :

ActionScript 3

  1. #1
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut TweenEvent et composition
    salut,

    Comment informer un parent qu'un événement à eu lieu dans un des objets qui le compose?

    Voici quelques détails sur mon souci : j'ai une classe (qui étend Sprite) qui est un container pour plusieurs objets.
    C'est objets ont des animations (Tween) et je voudrais qu'ils fassent remonter à leur parent quand les animations sont terminées (TweenEvent.MOTION_FINISH).

    Le problème, je ne vois pas comment je peux ajouter un"addEventListener" du parent vers l'animation. J'ai essayé de mettre un dispatchEvent sur le fils pour qu'il retransmette l'événement en question mais sans succès.


    Merci pour vos éclairages

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Par défaut
    Salut,

    On pourrait voir un morceau de code ?

    Et ce que tu veux c'est par exemple tu as un sprite Mère, et dedans des enfants, et informer la mère chaque fois qu'un enfant à terminé son tween ?

    Tu as la propriété obj, dans la classe Tween, qui sur currentTarget renvoie le clip utilisé, à partir de là c'est bon je pense !

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    import fl.transitions.Tween;
    import fl.transitions.easing.Elastic;
    import fl.transitions.TweenEvent;
    
    var conteneur:Sprite = new Sprite();
    addChild(conteneur);
    
    var interpolation:Tween;
    
    var toto:maClasse = new maClasse();
    conteneur.addChild(toto);
    
    interpolation = new Tween(toto, "scaleX", Elastic.easeOut,1 ,1, 2, true);
    
    interpolation.addEventListener(TweenEvent.MOTION_FINISH, fin);
    conteneur.addEventListener(MouseEvent.CLICK, clic, true);
    
    function fin (evt:TweenEvent):void{
        trace(evt.target); // affiche Tween
        trace(evt.currentTarget.obj);  // affiche maClasse
    }
    function clic (evt:MouseEvent):void
    {
      interpolation.continueTo(1.1, 2);
    }

  3. #3
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    Et ce que tu veux c'est par exemple tu as un sprite Mère, et dedans des enfants, et informer la mère chaque fois qu'un enfant à terminé son tween ?
    oui c'est ça. Sauf que () mes Tween sont écrits dans la classe enfant (maClasse dans ton exemple). (c'est peut être une mauvaise idée?...)

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Par défaut
    C'est pas un problème, tant que tu y arrives Un dispatchEvent fonctionnera sans problème, tout dépend de quoi il s'agit, d'ailleurs de quoi il s'agit comme projet ?

  5. #5
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    le projet : c'est une carte du monde qui permette en cliquant sur un pays d'avoir des infos sur le pays en question. L'idée c'est d'avoir un sprite qui apparait (animation Tween) avec un label (le nom du pays) et les thèmes reliés à ce pays. Les infos sont recueillies en faisant une requête sur une bdd en utilisant le nom du pays.

    Concernant le problème posé précédemment, j'ai changé mon fusil d'épaule. Au lieu d'avoir un seul Sprite qui se met à jour en fonction du pays sur lequel l'utilisateur clique, j'ai choisi de créer un Sprite par pays cliqué pour faciliter les comparaisons et permettre d'avoir une sélection pour éventuellement télécharger le jeux de données.
    Mais, je vais quand même essayer de prendre un peu de temps pour faire un petit projet test pour effectivement arriver à faire remonter au parent l'information sur la fin de l'animation... à suivre donc

Discussions similaires

  1. Réponses: 15
    Dernier message: 14/12/2004, 18h01
  2. [FLASH MX2004][AS2] Composition
    Par bolo dans le forum Flash
    Réponses: 9
    Dernier message: 10/12/2004, 16h53
  3. Aide sur la création d'un type simple (nom composite)
    Par testeur dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 06/11/2004, 20h30
  4. clés composites
    Par Yuna dans le forum Administration
    Réponses: 12
    Dernier message: 08/01/2004, 09h14
  5. [WSAD] Composition visuelle d'une applet
    Par schum11 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/04/2003, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo