Je charge un fichier swf en un movie clip. Quel est le code action script pour reconnaitre le fichier swf se termine ?
Merci d'avance.
Version imprimable
Je charge un fichier swf en un movie clip. Quel est le code action script pour reconnaitre le fichier swf se termine ?
Merci d'avance.
Salut,
compare les valeurs des propriétés _currentframe et _totalframes
Ps : Precise la version de flash que tu utilises - Merci
Mais quand un swf est chargé en un objet MovieClip, le movieclip n'a qu'un frame :cry: .
En fait, dans le fichier fla actuel, j'utilise loadClip("movie.swf", movie) pour charger. J'ai fait afficher movie._currentframe et movie._totalframes mais les deux sont tous égaux à 1 et je n'ai pas de control sur "movie.swf".
Utilise plutôt un MovieClipLoader()
Tu peux me dire plus précisément comment le faire, stp?
Code:
1
2
3 this.createEmptyMovieClip("tester_mc", 1); var image_mcl:MovieClipLoader = new MovieClipLoader(); image_mcl.loadClip("proto.swf", tester_mc);
tester_mc._totalframes est tjrs = 1 :cry:
Le code de melonmaudic un peu complété ;)
Ca devrait être bon aux fautes de frappe près :aie:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 this.createEmptyMovieClip("tester_mc", 1); var image_mcl:MovieClipLoader = new MovieClipLoader(); var oListener:Object = new Object(); image_mcl.loadClip("proto.swf", tester_mc); image_mcl.addListener(oListener); oListener.onLoadInit = function() { tester_mc.onEnterFrame = isClipFinished; } function isClipFinished() { if(tester_mc._currentframe == tester_mc._totalframes) { delete tester_mc.onEnterFrame; trace("Clip fini :P"); } }
A tester ;)
ou sinon, sur la derniere frame de ton animation tu poses ta ligne de code :
trace("Clip fini");
tout simplement
Merci a vous tous.
Un peu de resume pour cette discussion :
MovieClip.onEnterFrame doit etre appele dans MovieClipLoader.onLoadInit pour pouvoir controler le MovieClip.
J'ai encore un problème:
Maintenant si le fichier swf contient des sons. Comment savoir le dernier son est terminé :roll:
événement onSoundComplete ;)
Ps: Pense à indiquer la version de flash que tu utilises - Merci
Toujours avec le bout du program dont on a discute. Supposons que tester_mc contient des sons. J'ai ajoute un objet Sound mySound et defini mySound.onSoundComplete mais il n'y a aucun effet :( .
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 this.createEmptyMovieClip("tester_mc", 1); var image_mcl:MovieClipLoader = new MovieClipLoader(); var oListener:Object = new Object(); image_mcl.loadClip("proto.swf", tester_mc); image_mcl.addListener(oListener); var mySound:Sound = new Sound(tester_mc) ; mySound.onSoundComplete = function() { trace("Son complete") ; } oListener.onLoadInit = function() { tester_mc.onEnterFrame = isClipFinished; } function isClipFinished() { if(tester_mc._currentframe == tester_mc._totalframes) { delete tester_mc.onEnterFrame; trace("Clip fini :P"); } }
peut etre que tu confonds un son posé sur la timeline d'un clip et un son lancé avec le code monSon.play() ?
---------------
:oops:, j'ai dis une moitié de bétise :mrgreen: tu charges dans ton clip un objet externe grace a MCL ce qui efface tout le contenu de ce clip !
je trouve le bout de code que tu as mis bizarre ... mais surement parce que j'ai pas le tout sous les yeux ?