Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/07/2008, 11h43   #1
Membre du Club
 
Inscription : décembre 2005
Messages : 113
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 113
Points : 45
Points : 45
Envoyer un message via MSN à edzodzinam Envoyer un message via Yahoo à edzodzinam Envoyer un message via Skype™ à edzodzinam
Par défaut connaitre la durée d'une animation avec action script

Bonjour,
Je voudrais créer une animation à partir de plusieurs animation à appeller l'un à la suite de l'autre.
Une animation sera appelé quand l'autre est terminé.
Est ce que quelqu'un peut m'aider.
Merci.
edzodzinam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2008, 22h15   #2
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 233
Points : 2 233
Salut,

je suis pas sûr qu'on puisse déterminer la durée mais tu peux savoir si une animation "simple" est terminée en utilisant les propriétés _currentframe et _totalframes de la classe MovieClip.

ci-dessous un exemple qui charge une animation test.swf :
Code AS2 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var mcContainer = this.createEmptyMovieClip("container", this.getNextHighestDepth());
var mclListener = new Object();
mclListener.onLoadInit = function(target_mc) 
{
    _root.onEnterFrame = function()
    {
        if(target_mc._currentframe == target_mc._totalframes)
        {
            trace("animation terminée");
            target_mc.stop();
            delete _root.onEnterFrame;
        }
    };
}
var mcl = new MovieClipLoader();
mcl.addListener(mclListener); 
mcl.loadClip("test.swf", mcContainer);
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2008, 11h45   #3
Membre Expert
 
Avatar de jean philippe
 
Inscription : septembre 2006
Messages : 2 062
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2 062
Points : 2 075
Points : 2 075
Envoyer un message via MSN à jean philippe Envoyer un message via Skype™ à jean philippe
juste pour dire que j'aurai remplacé les _root par this
__________________
mon Blog
jean philippe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2008, 21h50   #4
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 233
Points : 2 233
Citation:
Envoyé par jean philippe Voir le message
juste pour dire que j'aurai remplacé les _root par this
en fait ça ne peut pas marcher car this ne cible pas un clip dans la fonction onLoadInit.

je ne conseil pas l'utilisation de _root mais dans l'exemple elle illustre le fait de "surveiller" la progression de l'animation chargée dans l'animation principale. On peut utiliser un clip à la place.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var mcControler = this.createEmptyMovieClip("controler", this.getNextHighestDepth());
var mcContainer = this.createEmptyMovieClip("container", this.getNextHighestDepth());
var mclListener = new Object();
mclListener.onLoadInit = function(target_mc) 
{
    mcControler.onEnterFrame = function()
    {
        if(target_mc._currentframe == target_mc._totalframes)
        {
            trace("animation terminée");
            target_mc.stop();
            delete this.onEnterFrame;
        }
    };
}
var mcl = new MovieClipLoader();
mcl.addListener(mclListener); 
mcl.loadClip("test.swf", mcContainer);
beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 11h07   #5
Membre du Club
 
Inscription : décembre 2005
Messages : 113
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 113
Points : 45
Points : 45
Envoyer un message via MSN à edzodzinam Envoyer un message via Yahoo à edzodzinam Envoyer un message via Skype™ à edzodzinam
J'ai plutot utilisé une variable terminer qui au départ est à false et à la fin est à true.
Merci pour votre aide
edzodzinam est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h12.


 
 
 
 
Partenaires

Hébergement Web