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

Flash Discussion :

[FLASH MX2004] Boucle sur des clips est-ce possible ?


Sujet :

Flash

  1. #1
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut [FLASH MX2004] Boucle sur des clips est-ce possible ?
    Bonjour

    contexte :

    j'ai 3 calques : l'un concerne mon action script, le second contient un clip appelé etoile4 et le 3 eme contient un autre clip appelé supporter3.

    ce que je vourais faire c'est que les images s'effacent porgressivement chacunes à leur tour ..

    j'ai le code pour la première image par contre lorsque je duplique le code pour la deuxième image et que j'execute les 2 actions se font en parallèle ...


    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
    41
    42
    43
    44
    45
     
     
     
     
    var nAlpha1:Number = 100;
    var nAlpha2:Number = 0;
    var nFrames:Number = 20;
    var nCpt:Number = 0;
    var nPosX , nPosY;
    var nObjet;
     
    nObjet = etoile5;
     
    nPosY = _root.nObjet._y;
    nPosX = _root.nObjet._x;
     
    _root.nObjet._alpha = nAlpha1; 
     
    _root.nObjet.onEnterFrame = function() {
     
      if(nCpt == nFrames) {
          delete this.onEnterFrame;
       }
       nCpt++;
       this._alpha -= (nAlpha1 - nAlpha2)/nFrames;
       this._x = this._x + (nPosX + 2);
     
    }
     
    nObjet = supporter3;
    nPosY = _root.nObjet._y;
    nPosX = _root.nObjet._x;
     
    _root.nObjet._alpha = nAlpha1; 
     
    _root.nObjet.onEnterFrame = function() {
     
      if(nCpt == nFrames) {
          delete this.onEnterFrame;
       }
       nCpt++;
       this._alpha -= (nAlpha1 - nAlpha2)/nFrames;
       this._x = this._x + (nPosX + 2);
     
    }
    comment est-il possible de faire "disparaitre" la première puis ensuite la seconde ?

    Merci
    c@simir

  2. #2
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Salut,

    Je pense que la maniere la plus propre (et la plus simple) est de creer deux images clé dans le scenario.
    Par exemple:
    -sur la premier image clé, tes trois calques contienent chaqu'un leur clip/script (comme tu as surement du le faire)
    -sur la 2eme image clé, tu refait la meme chose ( meme contenu) saufe que tu enleve le contenu du calque qui doit disparaitre en premier(on en aura plus besoin ... sauf si ???).

    Il faut que tu modifie ton script maintenant (on va le diviser en deux. un bout pour chaque image.)
    Pour ca, dans la premier image clé, dans ton calque de script, place le code pour effacer juste le premiere clip (image).

    puis sur la seconde image clé, dans ton calque de script, place le code pour effacer le second clip.

    STOP

  3. #3
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut
    j'ai donc crée une deuxième image clée sur laquelle j'ai placé l'autre bou de script

    donc j'ai première image clée

    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
     
     
    var nAlpha1:Number = 100;
    var nAlpha2:Number = 0;
    var nFrames:Number = 20;
    var nCpt:Number = 0;
    var nPosX , nPosY;
    var nObjet;
     
    nObjet = etoile5;
     
    nPosY = _root.nObjet._y;
    nPosX = _root.nObjet._x;
     
    _root.nObjet._alpha = nAlpha1; 
     
    _root.nObjet.onEnterFrame = function() {
     
      if(nCpt == nFrames) {
          delete this.onEnterFrame;
       }
       nCpt++;
       this._alpha -= (nAlpha1 - nAlpha2)/nFrames;
       this._x = this._x + (nPosX + 2);
     
    }
     
     
     
    //trace(nPosX);
    puis la seconde

    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
     
     
     
     
    var nAlpha1:Number = 100;
    var nAlpha2:Number = 0;
    var nFrames:Number = 20;
    var nCpt:Number = 0;
    var nPosX , nPosY;
    var nObjet;
     
    nObjet = supporter3;
     
    nPosY = _root.nObjet._y;
    nPosX = _root.nObjet._x;
     
    _root.nObjet._alpha = nAlpha1; 
     
    _root.nObjet.onEnterFrame = function() {
     
      if(nCpt == nFrames) {
          delete this.onEnterFrame;
       }
       nCpt++;
       this._alpha -= (nAlpha1 - nAlpha2)/nFrames;
       this._x = this._x + (nPosX + 2);
     
    }
     
     
     
    //trace(nPosX);
    donc pour recapitulé j'ai 3 calques un celui des scripts contenant à present 2 clées vu ci-dessus

    puis 2 autres calques contenant les clips

    maintenant quand je lance l'action je vois les images défiler rapidement comme une diaporma en accèléré je n'ai pas l'effet souhaite c'est dire mon premier clip qui s'efface pour laisser apparaitre le second ..

    je ne comprends pas ... où ça cloche ???
    c@simir

  4. #4
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    re,

    il faut que tu arrete la tete de lecture ( oups ... je te l'ai pas dit ca )
    pour resoudre le probleme , tu va devoir arreter la tete de lecture sur la premiere image clé et laisse ton script s'executer.
    pour cela, tu a la fonction stop(). Tu doit l'ajoute dans le calque du script - image clé 1 )

    ensuite, lorsque tu a fini d'effacer ton clip tu passe a l'image clé suivante; pour cela, tu a la fonction gotoAndStop() qui envoi la tete de lecture a l'imge indiquer en parrametre.

    En gros , tu doit changer ton script de l'image 1 comme par exemple ce qui suit :

    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
     
    stop();//on arrete la tet de lecture ( on reste sur l'image clé courante )
     
    var nAlpha1:Number = 100;
    var nAlpha2:Number = 0;
    var nFrames:Number = 20;
    var nCpt:Number = 0;
    var nPosX , nPosY;
    var nObjet;
     
    nObjet = etoile5;
     
    nPosY = _root.nObjet._y;
    nPosX = _root.nObjet._x;
     
    _root.nObjet._alpha = nAlpha1;
     
    _root.nObjet.onEnterFrame = function() {
     
      if(nCpt == nFrames) {
          delete this.onEnterFrame; // on supprime l'evenement onEnterFrame
          gotoAndStop(2);//quand l'objet "nObjet" est transparent, on passe a l'image 2
       }
       nCpt++;
       this._alpha -= (nAlpha1 - nAlpha2)/nFrames;
       this._x = this._x + (nPosX + 2);
     
    }
    voila , normalement , tu n'a plus de changement a faire :-)

    PS : donne nous de tes nouvelle ( pense a resolu )

  5. #5
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut


    un grand merci à toi j'éspère que la prochaine fois je trouverais tout seul parce que c'est vrai c'est assez logique mais je ne sais pas pourquoi la programmation dans flash j'ai un peu de mal (bon je débute certe) mais c'est l'association programmation associée à l' animation qui faut que j'arrive à bien saisir !!!!


    bon bon encore merci ça fonctionne très bien !!!!!!

    j'y retourne

    c@simir

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/02/2006, 11h15
  2. [FLASH MX2004] Effet sur photos
    Par themis121 dans le forum Flash
    Réponses: 5
    Dernier message: 06/05/2005, 16h52
  3. [FLASH MX2004] focus sur le swf
    Par j0hnmerrick dans le forum Flash
    Réponses: 7
    Dernier message: 22/03/2005, 09h51
  4. [FLASH MX2004] Faire bouger un clip
    Par Ticoche dans le forum Flash
    Réponses: 2
    Dernier message: 21/11/2004, 10h17
  5. [FLASH MX2004] Pb sur des caractères accentués.
    Par sandrineLL dans le forum Flash
    Réponses: 3
    Dernier message: 05/08/2004, 14h18

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