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] Plusieurs fichiers.swf en un seul fichier.swf


Sujet :

Flash

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Points : 16
    Points
    16
    Par défaut [FLASH MX2004] Plusieurs fichiers.swf en un seul fichier.swf
    J'ai donc 14 animations.swf à rassembler dans un seul fichier.swf... Je voudrais que ces animations s'enchainent les unes à la suite des autres sans que l'utilisateur n'intervienne en quoi que ce soit.

    Je me suis donc dit que j'allais utiliser une boucle avec un loadMovie... Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (i=1; i<=14; i++) {
        this.createEmptyMovieClip("conteneur_mc", this.getNextHighestDepth());
        conteneur_mc.loadMovie("animation"+i+".swf");
        trace("animation"+i+" !");
    }
    Il est évident que j'ai nommé mes animations en animation1.swf, animation2.swf, ...
    Tout ceci fonctionne parfaitement sauf qu'il lit chaque animation sans attendre que la précédente soit terminée. Du coup, je ne vois que des extraits d'animations. Ce qui n'a évidemment aucun intérêt pour moi...
    Je suis cependant certaine qu'il les lit toutes puisque le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    trace("animation"+i+" !");
    me renvoit à chaque fois
    animation1 !
    animation2 !
    animation3 !
    ...

    Si quelqu'un pouvait me trouver une solution, ce serait formidable.
    D'avance merci,

    NouR7

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je bidouille un petit peu en flash, j'ai été confronté à un problème similaire. Voilà mon astuce :
    Dans le fichier swf dit de base, je place un clip vide d'occurence "mccible". Toujours dans ce fichier je place un action script qui charge l'anim 1 dans le mccible. (Attention, les anims sont placées en bas à gauche par rapport au clip mccible ! Donc il faut bien placé ce dernier dans la scène)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    stop();
    loadMovie("anim1.swf",_root.mccible);
    puis dans le swf de l'anim 1 à la fin je replace le même code sauf que j'appelle cette fois l'anim2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    stop();
    loadMovie("anim2.swf",_root.mccible);
    puis dans le swf de l'anim 2 à la fin je replace le même code sauf que j'appelle cette fois l'anim3.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    stop();
    loadMovie("anim3.swf",_root.mccible);
    etc...

    Voilà, c'est un peu barbare, mais je suis pas un grand développeur.

    Enjoy !

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Barbare... Non !
    En effet, c'est un peu barbare mais ce n'est pas possible moi. Je ne dispose pas des fichiers.fla.
    Et le faire en important le .swf dans un .fla n'aurait pas solutionné le problème car certains .swf contenaient un MovieClip à la fin qui n'apparaissait donc pas directement dans la timeline du .swf.
    J'ai contacté mon prof d'AS qui a essayé de trouver une solution qui n'a finalement jamais fonctionné.
    On a donc fait sans.

    Pour ce qui est du temps de réponse, il est dû au fait que j'ai eu pas mal de choses à faire. Néanmoins, je vais essayer d'aider un peu les autres forumeurs, si toutefois j'en suis capable

    Merci pour ta réponse,

    NouR7

  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
    bonjour,

    Est ce qu'on peut connaitre le nombre d'image (frame) de chaque animation (.swf)?

    bien sùr que oui!!! ;-)

    Pour ma part, j'aurai crée autant de clip vide que d'animation (.swf) a charger dans le .swf principale. Puis je donne a chaque clip la propriété _alpha=0.

    Un exemple pour 3 image ...
    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 currentImage:Number(0);
     
    var currentSWF:Number=new Number(0);
     
    var tabTotalImage:Array()=new Array();
    // la 1er animation contien 10 image (frames)
    // la 2eme animation contien 15 image (frames)
    // la 3eme animation contien 20 image (frames)
    /*cumul */
    tabTotalImage[0]=10;
    tabTotalImage[1]=tabTotalImage[0]+15;
    tabTotalImage[2]=tabTotalImage[2]+20;
     
    for(i=0;i<nbrSWF;i++){
     _root.createEmptyMovieClip("mc"+i,...);
     _root["mc"+i]._alpha=0;
     _root["mc"+i].loadMovie("url"+i+".swf");
     if(i!=0){
       _root["mc"+i].onLoad=function(){
         this.stop();
       };
     }
    }
     
    _root.mc0.onLoad=function(){
    this.play();
     _root.onEnterFrame=function(){
       currentImage++;
       if(currentImage>tabTotalImage[currentSWF]){
         _root["mc"+currentSWF]._alpha=0;
         if(currentSWF<tabTotalImage.length){
           currentSWF++;
           _root["mc"+currentSWF]._alpha=100;
           _root["mc"+currentSWF].play();
         }
         else{
           _root["mc"+tabTotalImage.length].stop();
           delete _root.onEnterFrame;
           // c fini
         }
       }
     };
    }
    // remplacer tabTotalImage.length par le nombre de swf svp
    Comme d'habitude, je n'est pas flash sous la main , donc ce code est fait un peu ... comment dit on deja ???? ha oui! a l'arrache

    PS:Ne pas oublié la petite animation de prechargement pour la premier animation (.swf).

  5. #5
    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,
    pour determiner le nombre de frame qu'une animation contien, il suffit de faire _totalFrame
    On peu aussi utiliser le javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var totalImage=windows.document.monFlash.TotalFrame()
    Si tu veux le faire dans le script principal là le code commence a ce corser car il faut etre sur que l'animation est totalement charger et point de vue "streaming" c pas le top.
    Donc faire un fla a part pour determiner le nombre de d'image qu'une animation contien c pas plus mal finalement.

    PS : si tu a vraiment bcp d'animation, fait toi un petit truc automatisé.

  6. #6
    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,
    J'y repensai, en fait ton truc c vraiment pas évident.
    Pour determiner le nombre d'image dans les swf que tu veux charger, y'a un probleme ... enfin non.
    Bon le truc c' qu'une animation peu contenir une image en niveau du _root
    10 image au niveau de _root.presentation , 30 image au niveau de _root.presentation.flashyflashy

    Bref tout ca pour dir que pour determiner le temps de lecture d'un swf il va faloir faire un petit script recursif. il te faudra utiliser "instanceX"
    exemple :
    _root.mc1 correspond a _root.instance1

    Bon courrage

    PS: c pas non plus trop dur non plus.

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par CR_Gio
    re,
    J'y repensai, en fait ton truc c vraiment pas évident.
    Pour determiner le nombre d'image dans les swf que tu veux charger, y'a un probleme ... enfin non.
    Bon le truc c' qu'une animation peu contenir une image en niveau du _root
    10 image au niveau de _root.presentation , 30 image au niveau de _root.presentation.flashyflashy

    Bref tout ca pour dir que pour determiner le temps de lecture d'un swf il va faloir faire un petit script recursif. il te faudra utiliser "instanceX"
    exemple :
    _root.mc1 correspond a _root.instance1

    Bon courrage

    PS: c pas non plus trop dur non plus.
    Voila, tu as tout compris, c'est le gros problème.
    Mais j'ai laissé tomber, on a fait autrement le jour où nous aurions voulu faire défiler ce .swf... Tant pis

    Merci pour tes réponses, si jamais je finis par trouver une solution, je vous en ferai part sans hésiter

  8. #8
    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
    Il y a des outil pour decompiler des .swf, il doit bien y en avoir un dans le taps pour te donner la durée de lecture d'un .swf.

Discussions similaires

  1. [FLASH MX2004] Plusieurs texte dynamique?
    Par porto dans le forum Flash
    Réponses: 4
    Dernier message: 01/10/2006, 17h44
  2. Réponses: 4
    Dernier message: 26/06/2006, 11h41
  3. [FLASH MX2004] plusieurs evenennements
    Par Isses dans le forum Flash
    Réponses: 4
    Dernier message: 20/06/2006, 10h09
  4. Réponses: 4
    Dernier message: 14/12/2004, 17h37
  5. [FLASH MX2004] Plusieurs popup
    Par noarno dans le forum Flash
    Réponses: 6
    Dernier message: 20/10/2004, 16h51

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