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 :

Boutons et variables en as2


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Par défaut Boutons et variables en as2
    Bonjour,

    Je suis plus que moyen en as2 et je serai le plus heureux des hommes si l'on m'aidait à y voir clair dans un cas - pour moi - complexe.
    Voici la description de mon animation (assez simple dans le principe) :

    - la page est divisé en deux par des emptymovieclip qui contiennent des clips chargés par des attachmovie ;
    - la partie de gauche est constituée de boutons qui appellent les clips de la partie de droite ;
    - le principe est tout à fait fonctionnel (testé sans ce qui pose problème, à savoir.

    MAIS :

    - comme les boutons appellent des clips quasi identiques, je cherche à réaliser une gestion de variable permettant de n'avoir qu'une seule fois la fonction attachmovie, implémentée par les variables. Et là, rien à faire, je n'y parviens pas.
    Voici ce que j'ai essayé.

    1/création de boutons avec des variables :

    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
    //boutons avec variable
    var clip:String
    var clipcree:String
     
     
     
    clipmenu.barremenu.boutonY.onRelease=function(){
       clip = "clip_Y";
       trace (clip); //COMMENTAIRE : ici les trace fonctionnent bien
       clipcree = "Y";
       trace (clipcree);
       chargerclip;
    }
     
    clipmenu.barremenu.boutonX.onRelease=function(){
       clip = "clip_X";
       clipcree = "X";
       chargerclip;
    }
    2/appel de la fonction "chargerclip" :

    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
     
    //fonction appelée par les boutons
    function chargerclip () {
       trace (clip); //COMMENTAIRE : ici les trace ne fonctionnent pas, la fonction non plus
       trace (clipcree);
       trace ("bon");
       contener.attachMovie("clip","clipcree",contener.getNextHighestDepth());
     
       var tween_handler:Tween = new Tween(contener.clipcree, "_alpha", Strong.easeIn, 0, 100, 20, false);
       tween_handler.onMotionFinished = function() {
     
    	var avantderniereprof:Number = contener.getNextHighestDepth() - 2;
    	var avantdernierclip:MovieClip = contener.getInstanceAtDepth(avantderniereprof);
    	trace (avantdernierclip);
    	trace (avantderniereprof);
    	(avantdernierclip).removeMovieClip();
    	contener.clipcree.swapDepths(0)
    	trace (contener.clipcree.getDepth());
            };
    NB : elle n'est pas entière ici car il y a un bouton dans chaque clip appelé - j'ai préféré faire un envoi light pour ne pas rendre fou le visiteur !

    Je ne sais pas si ma logique est bonne, mais j'avais tenter des if ; if else... qui ne donnaient rien non plus...

    Quelqu'une ou quelqu'un a-t-il Ze solution au problème ?

    Merci beaucoup,

    Cyril

  2. #2
    Membre éclairé
    Homme Profil pro
    Concepteur multimédia
    Inscrit en
    Février 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Concepteur multimédia
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 55
    Par défaut
    Salut, essaye avec ça :

    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
    clipmenu.barremenu.boutonY.onRelease = function() {
    	chargerclip("clip_Y", "Y");
    };
     
    clipmenu.barremenu.boutonX.onRelease = function() {
    	chargerclip("clip_X", "X");
    };
     
     
    //fonction appelée par les boutons
    function chargerclip(clip:String, clipCree:String) {
    	trace(clip);//COMMENTAIRE : ici les trace ne fonctionnent pas, la fonction non plus
    	trace(clipcree);
    	trace("bon");
    	contener.attachMovie(clip,clipcree,contener.getNextHighestDepth());
     
    	var tween_handler:Tween = new Tween(contener.clipcree, "_alpha", Strong.easeIn, 0, 100, 20, false);
    	tween_handler.onMotionFinished = function() {
     
    		var avantderniereprof:Number = contener.getNextHighestDepth() - 2;
    		var avantdernierclip:MovieClip = contener.getInstanceAtDepth(avantderniereprof);
    		trace(avantdernierclip);
    		trace(avantderniereprof);
    		(avantdernierclip).removeMovieClip();
    		contener.clipcree.swapDepths(0);
    		trace(contener.clipcree.getDepth());
    	};
    }
    Tu me diras si ça fonctionne.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Par défaut Bluffant !
    Génial, merci beaucoup.
    Ca fonctionne en tout cas quand c'est tout seul et que je simplifie mon anim. Je vais remettre de la complexité petit à petit et voir où ça ne va pas.
    Mais je pense que le plus dur est fait !
    La logique était évidente pour qui réfléchit un peu : mettre les variables dans la fonction !

    Merci encore.

    Cyril

  4. #4
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Par défaut Y'a encore queque chose qui cloche là d'dans
    Me revoilà.
    Je suis encore coincé.
    Il y a un truc qui ne veut pas se résoudre.

    Jusqu'à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    contener.attachMovie("clip","clipcree",contener.getNextHighestDepth());
    ça marche sans problème : le clip se charge.
    Par contre après, il y a un os : le tween ne fonctionne pas (pas de fondu enchaîné). Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    contener.clipcree.swapDepths(0)
    ne renvoie rien ! C'est bizarre.
    J'ai essayé de décrire les variables en tant que MovieClip au lieu de String, c'est encore pire : le clip ne se charge pas !

    De même, la description du bouton "zoneclic" qui se trouve dans contener.clipcree ne fonctionne pas.
    Mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    contener.clipcree.zoneclic.onRollOver=function(){
    	trace("test1"); 
    	contener.Y.gotoAndPlay("roll");
    }
    renvoie : undefined
    Comme si contener.clipcree n'existait pas !
    Encore une fois, je suis coincé. Il doit y avoir une astuce, mais je tourne autour sans y parvenir !

    Si vous avez une idée, je suis preneur !

    Merci beaucoup !

    Cyril

  5. #5
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Par défaut une piste
    Je crois avoir compris d'où vient le problème : une fois qu'on a appelé le clipCree, avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    contener.attachMovie(clip,clipCree,contener.getNextHighestDepth());

    il prend le nom de sa variable (ici, X ou Y) et du coup n'est plus reconnu comme "clipCree".
    Par contre, je ne vois pas comment solutionner ce problème...
    Si quelqu'un voit une solution, merci carrément d'avance !

    Cyril

  6. #6
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Par défaut A devenir dingue
    Suite du feuilleton :

    j'ai eu une idée, j'ai créé une variable pour conserver le nom du movieclip :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function chargerclip(clip:String, clipCree:String) {
    	trace(clip);
    	trace(clipCree);
    	var nomclipCree = clipCree;
    	contener.attachMovie(clip,clipCree,contener.getNextHighestDepth());
    	trace(nomclipCree);
     	trace(contener.nomclipCree);
    Mais ça ne marche pas.
    trace(clipCree) donne Y
    trace(nomclipCree) donne aussi Y
    mais trace(contener.nomclipCree) donne undefined

    Sacrebleu !

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

Discussions similaires

  1. import texte via variable url (AS2)
    Par rduvrac dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 02/11/2009, 09h18
  2. [formulaire] bouton hyperlink variable
    Par Guillaume 78 dans le forum IHM
    Réponses: 1
    Dernier message: 20/08/2008, 10h22
  3. Bouton avec variable php
    Par fepagaf dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/09/2007, 09h08
  4. [débutant] plusieur bouton -> plusieur variable ?
    Par cyrill.gremaud dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 03/11/2006, 14h27
  5. couleur Bouton selon variable d'url
    Par hisy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/04/2006, 10h23

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