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 1 & ActionScript 2 Discussion :

réduction de code


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 6
    Par défaut réduction de code
    Salut,

    je n'arrive pas à faire avancer le problème.
    Je souhaite optimiser mon code, j'ai deux fonctions quasi identiques, je souhaite faire un passage en paramètre, seulement voilà je ne sais pas du tout quoi ecrire!
    voici le code:
    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
    # btg.onPress = function():Void  { 
    #     clip.onEnterFrame = function():Void  { 
    #         this._alpha = 80; 
    #         this._enabled = false; 
    #         this._rotation = 20; 
    #         if (this._x<=100) { 
    #             /* série de nouvelles instructions :A;B;C;*/ 
    #         } 
    #         this._x -= 5; 
    #     }; 
    # }; 
    # btd.onPress = function():Void  { 
    #     clip.onEnterFrame = function():Void  { 
    #         this._alpha = 80; 
    #         this._enabled = false; 
    #         this._rotation = 20; 
    #         if (this._x>=_root.autreClip._x+100) { 
    #             /* série de nouvelles instructions :A;B;C; */ 
    #         } 
    #         this._x += 5; 
    #  
    #     }; 
    # };
    donc l'idée c'est que j'ai deux boutons.
    je clique sur le bouton gauche, et mon clip se déplace vers la gauche, en devenant presque transparent, orienté à 80°, il n'est plus cliquable... patati et patata... Puis lorque qu'il arrive à une certaine distance d'un autre clip, une nouvelle série d'instructions voient le jour....
    Bref, c'est la même chose pour le bouton droit, avec donc quelques nuances.
    j'énumère ici le code qui diffère du bouton gauche (btg) au bouton droit (btd)
    - le nom du bouton (btg // btd )
    - la condition de if (this._x<=100 // this._x>=_root.autreClip._x+100 )
    - la direction du clip mobile ( this._x -= 5 // this._x += 5;

    Le script que je propose ici est exactement le même que je développe chez moi, sauf que les instructions font 400 lignes.
    Alors j'aimerais éviter de faire 2X 400 lignes pour juste quelques "maigres" différences....

    ma question est, comment écririez-vous ce code afin de le réduire au maximum?

    merci pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Salut,

    si tu veux créer une fonction qui réagit un peu différemment suivant que ce soit pour le bouton droit ou pour le bouton gauche,
    il suffit de passer en paramètre une valeur qui indique ça.

    voila ce que ça te donne :
    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
    btg.onPress = function():Void  { 
        clip.onEnterFrame = function():Void  { 
             BtnPress(false);
        }; 
    }; 
    btd.onPress = function():Void  { 
        clip.onEnterFrame = function():Void  { 
             BtnPress(true);
        }; 
    };
    function BtnPress( bRightButton:Boolean )
    {
        clip._alpha = 80; 
        clip._enabled = false; 
        clip._rotation = 20; 
        if ( bRightButton == false && clip._x <= 100
             ||
              bRightButton == true && clip._x >= (_root.autreClip._x+100) )
        { 
            /* série de nouvelles instructions :A;B;C;*/ 
        } 
        clip._x += bRightButton ? 5 : -5; 
    }

Discussions similaires

  1. Recherche plugin pour les réductions de code Java
    Par voyager75 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 24/07/2011, 07h52
  2. Compression & Réduction du code
    Par Arnaud F. dans le forum jQuery
    Réponses: 2
    Dernier message: 28/08/2010, 13h01
  3. réduction de code
    Par levaron dans le forum Langage
    Réponses: 3
    Dernier message: 02/06/2009, 09h16
  4. Réduction de code
    Par NeMo_O dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 21/08/2008, 14h38
  5. Réduction de code
    Par mouaa dans le forum VBA Access
    Réponses: 13
    Dernier message: 27/12/2007, 14h45

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