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 :

Un événements unique pour différent bouttons.


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Par défaut Un événements unique pour différent bouttons.
    Bonjour à vous tous, et j'aimerais vous posez une simple question sur les événements AS3.

    J'ai plusieurs buttons qui active un twenn pour le clip qui lui est lié.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    this.BT_card.addEventListener(MouseEvent.MOUSE_OVER , BT_card_over ); 
    function BT_card_over(evt:MouseEvent):void
    {
    import gs.*; 
    import gs.easing.*;
    TweenMax.to(this.MC_card, 1, {glowFilter:{color:0xffffff, alpha:1, blurX:5, blurY:5}});
    }
    
    this.BT_photos.addEventListener(MouseEvent.MOUSE_OVER , BT_photos_over ); 
    function BT_photos_over(evt:MouseEvent):void
    {
    import gs.*; 
    import gs.easing.*;
    TweenMax.to(this.MC_photos, 1, {glowFilter:{color:0xffffff, alpha:1, blurX:5, blurY:5}});
    }
    
    this.BT_videos.addEventListener(MouseEvent.MOUSE_OVER , BT_videos_over ); 
    function BT_videos_over(evt:MouseEvent):void
    {
    import gs.*; 
    import gs.easing.*;
    TweenMax.to(this.MC_videos, 1, {glowFilter:{color:0xffffff, alpha:1, blurX:5, blurY:5}});
    }
    
    this.BT_dvd.addEventListener(MouseEvent.MOUSE_OVER , BT_dvd_over ); 
    function BT_dvd_over(evt:MouseEvent):void
    {
    import gs.*; 
    import gs.easing.*;
    TweenMax.to(this.MC_dvd, 1, {glowFilter:{color:0xffffff, alpha:1, blurX:5, blurY:5}});
    }
    
    this.BT_contact.addEventListener(MouseEvent.MOUSE_OVER , BT_contact_over ); 
    function BT_contact_over(evt:MouseEvent):void
    {
    import gs.*; 
    import gs.easing.*;
    TweenMax.to(this.MC_contact, 1, {glowFilter:{color:0xffffff, alpha:1, blurX:5, blurY:5}});
    }
    Vu que le code est quasi identique, est-il possible de simplifié cela ?
    Merci à vous

  2. #2
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    Remarque sur le code :

    - met les imports une seul fois au debut :
    - Plutot que de réécrire plein de fois ton effet , fait une fonction ( plus simple a modifier globalement l'animation )
    - Pour généraliser le bouton , j'ai plusieurs solution mais aucune de "propre"
    -evite this partout

    Le code que je te propose :

    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
    //All import
    import gs.*; 
    import gs.easing.*;
     
    //AddEventListener
    BT_card.addEventListener(MouseEvent.MOUSE_OVER , BT_card_over ); 
    BT_photos.addEventListener(MouseEvent.MOUSE_OVER , BT_photos_over ); 
    BT_videos.addEventListener(MouseEvent.MOUSE_OVER , BT_videos_over );
    BT_dvd.addEventListener(MouseEvent.MOUSE_OVER , BT_dvd_over ); 
    BT_contact.addEventListener(MouseEvent.MOUSE_OVER , BT_contact_over );
     
     
    //Handler
    function BT_card_over(evt:MouseEvent):void{ glowEffectOn(MC_card); }
    function BT_card_over(evt:MouseEvent):void{ glowEffectOn(MC_photos); }
    function BT_card_over(evt:MouseEvent):void{ glowEffectOn(MC_videos); }
    function BT_card_over(evt:MouseEvent):void{ glowEffectOn(MC_dvd); }
    function BT_card_over(evt:MouseEvent):void{ glowEffectOn(MC_contact); }
     
    //Move a clip
    function glowEffectOn(d:DisplayObject):void{
         TweenMax.to(d, 1, {glowFilter:{color:0xffffff, alpha:1, blurX:5, blurY:5}});
    }
    Voila , code & Enjoy

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Par défaut
    Merci bien, il est évident que c'est plus simple que mes 500 lignes de codes

    Encore merci +++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Objet unique pour différentes classes
    Par titibete dans le forum C++
    Réponses: 3
    Dernier message: 08/12/2010, 15h43
  2. Réponses: 3
    Dernier message: 03/12/2007, 02h47
  3. [XSLT] XSL unique pour structure XML différente.
    Par SONY30 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/10/2006, 10h08
  4. [XSLT] template unique pour 2 utilisations différentes
    Par sozie9372 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/04/2006, 15h24
  5. Réponses: 4
    Dernier message: 07/03/2006, 15h54

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