Remplacer un movieclip par un autre

Résolu
cs_lilialolita Messages postés 3 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 10 février 2011 - 19 mai 2010 à 21:10
cs_lilialolita Messages postés 3 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 10 février 2011 - 20 mai 2010 à 18:40
bsr à tous :)

bon voilà,comme l'indique le titre du post j'essaye de remplacer un movieclip avec un autre mais jn'arrive pas à obtenir le résultat que je veut..je m'explique un peu, j'ai deux movieclip monclip1 et monclip2, je créer dynamiquement le premier(sachant kil existe au préalable dans la bibliothèque) ensuite je le fait jouer, et apr fait apparaitre monclip2 (initialement invisible)...ça c'est ce que je veut obtenir, voilà ce que je met comme code

_root.attachMovie("monclip1", "instance", this.getNextHighestDepth(), {_x:100, _y:100});
instance.gotoAndPlay(1);
monclip2._visible=true;

le hic, c'est que monclip2 s'affiche avant que l'animation de l'occurrence monclip1 ne soit lue toute entière. donc vous l'avez compris j'aimerais que monclip2 ne s'affiche qu'apr la lecture de l'animation de monclip1 mais je ne sais pas comment faire!!! des idées svp, c'est peut être évident mais je ss débutante et à court d'idées ....some help plz plz plz

3 réponses

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
20 mai 2010 à 08:13
Hello,

tu disposes de 2 solutions pour afficher "monclip2" seulement lorsque "monclip1" a fini de jouer ;

- 1ère solution : tu fais un attachMovie() de monclip2 (ce qui inclue dans le stocker dans la bibliothèque comme monclip1), et bien sûr tu fais ton attachMovie() lorsque "monclip2" a fini de jouer.

- 2e solution : tu "pistes" le temps écoulé sur ta scène afin de déclencher "monclip2._visible = true" au moment voulu. Pour ça tu disposes de "getTimer()" en as2. Exemple : si "monclip1" est joué sur 100 frames, et que ton animation est réglée sur 25 images par secondes, monclip2 devra donc apparaître à la 4ème seconde de l'animation, pour ce faire :

function Affichermonclip2(){
var Tempo:Number = getTimer();
if(Tempo >= 4000){// 4000 correspond à 4 secondes (400 millisecondes)
monclip2._visible = true;
clearInterval(Affichage);
}
}

//là tu définis l'intervalle qui exécutera la fonction Affichermonclip2 :
var Affichage = setInterval(Affichermonclip2, 100);
//le setInterval() exécutera la fonction Affichermonclip2() toutes les 100 millisecondes, et à 4000 millisecondes, cela affichera monclip2 et supprimera l'intervalle.


A plus,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
3
docodoc Messages postés 1671 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 21 juillet 2013 4
20 mai 2010 à 09:04
salut
si j'ai bien compris les anim des clips sont devloppes sur la timeline (gotoAndPlay(1);)
donc :

sur ta timeline principale :
clip1.play()
clip2._visible=false

sur la derniere image_cle de clip1 :
this._visible=false
_parent.clip2._visible=true
_parent._clip2.play()

bon, pas oblige de mettre les 2 clips sur la scene ni les _visible hein
... si tu l'attach d'abord, tu le vires apres avec un removeMovieClip()

et voila !
a+
3
cs_lilialolita Messages postés 3 Date d'inscription mardi 20 avril 2010 Statut Membre Dernière intervention 10 février 2011
20 mai 2010 à 18:40
bsr,
merci pour vos réponses, pour BBFUNK01 en réalité j'ai pensé aussi à setInterval mais je ne savais pas comment procéder..merci de m'avoir éclaircis les choses.
sinon la réponse de docodoc fait l'affaire aussi merci^^
0
Rejoignez-nous