Effacer un clip dans un preload...

Résolu
cs_Thatagata Messages postés 2 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 9 avril 2005 - 9 avril 2005 à 14:16
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 - 10 avril 2005 à 14:41
Bonjour, comme je suis débutant, j'ai récupéré un script pour faire un preload contenant une animation. Le clip a été crée avec createEmptyMovieClip et duplicateMovieClip mais quand le chargement de l'image qui est en séquence 2 apparait, le clip est toujours présent devant l'image. Je voudrais effacer le clip entièrement et pas seulement faire apparaitre l'image devant ce clip.
Voici le script :
stop();
Preload_mc.onLoad = function() {
this._xscale = 0;
this._yscale = 0;
};
Preload_mc.onEnterFrame = function() {
_global.a = _root.getBytesLoaded()/_root.getBytesTotal()*100;
this._x=280;
this._y=200;
this._xscale = a;
this._yscale = a;
if (a == 100) {
nextScene();
}
};
function setzeTrailer(anz, radius) {
_root.createEmptyMovieClip("ball", 1000);
with (_root.ball) {
beginFill(0x000055, 100);
moveTo(radius*Math.cos(0), radius*Math.sin(0));
for (i=0; i<360; i++) {
lineTo(radius*Math.cos(i*(Math.PI/180)), radius*Math.sin(i*(Math.PI/180)));
}
endFill();
ball._x = 280;
ball._y = 300;
}
ball.onEnterFrame = function() {
i += 0.1;
this._x = 280+(Math.cos(i)*110);
this._y = 200+(Math.sin(i)*110);
};
// Verfolger
for (var i = 0; i0 ? "ball"+(i-1) : "ball";
_root["ball"+i].onEnterFrame = function() {
this._x += (_root[this.prevmc]._x-this._x)/2;
this._y += (_root[this.prevmc]._y-this._y)/2;
};
}
}
setzeTrailer(20, 20);

De plus, plutôt que de charger l'image en séquence 2 ou en image 2, est-il possible de faire un preload qui charge une animation externe.
Merci pour vos réponses.

3 réponses

cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
9 avril 2005 à 15:11
Ben crée un clip "conteneur" où tu vas faire tes duplicateMovie ...comme ça après tu fais:

if (a == 100) {

_root.conteneur.removeMovieClip();
nextScene();
}



T'auras:


function setzeTrailer(anz, radius) {

_root.createEmptyMovieClip("conteneur",999);
_root.conteneur.createEmptyMovieClip("ball", 1000);
with (_root.ball) {

...

et partout où tu as _root.ball, ou _root["ball"...] remplace par:

_root.conteneur.ball et _root.conteneur["ball"...]



voilà, ça devrait marcher en théorie!



@+! Samy
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
10 avril 2005 à 14:41
Ben le principe, c'est simple...tu crées un clip "conteneur" et ensuite
tes clips "balles" tu les crées dans ce clip conteneur...donc quand
t'as fini le preload...pas besoin de supprimer tous les clips "balles",
suffit de supprimer le clip dans lequel ils ont été créés! Voilà, c'est
tout!



@+! Samy
cs_Thatagata Messages postés 2 Date d'inscription vendredi 18 juillet 2003 Statut Membre Dernière intervention 9 avril 2005
9 avril 2005 à 16:01
Merci pour ton aide goldenboy68, ça marche nickel même si j'ai dû rajouter le mot conteneur à certains endroits. Peut tu m'en dire un peu plus sur le principe d'un clip conteneur.
Nouveau script :
stop();
Preload_mc.onLoad = function() {
this._xscale = 0;
this._yscale = 0;
};
Preload_mc.onEnterFrame = function() {
_global.a = _root.getBytesLoaded()/_root.getBytesTotal()*100;
this._x = 280;
this._y = 200;
this._xscale = a;
this._yscale = a;
if (a == 100) {
_root.conteneur.removeMovieClip();
nextScene();
}
};
function setzeTrailer(anz, radius) {
_root.createEmptyMovieClip("conteneur", 999);
_root.conteneur.createEmptyMovieClip("ball", 1000);
with (_root.conteneur.ball) {
beginFill(0x000055, 100);
moveTo(radius*Math.cos(0), radius*Math.sin(0));
for (i=0; i<360; i++) {
lineTo(radius*Math.cos(i*(Math.PI/180)), radius*Math.sin(i*(Math.PI/180)));
}
endFill();
conteneur.ball._x = 280;
conteneur.ball._y = 300;
}
conteneur.ball.onEnterFrame = function() {
i += 0.1;
this._x = 280+(Math.cos(i)*110);
this._y = 200+(Math.sin(i)*110);
};
// Verfolger
for (var i = 0; i0 ? "ball"+(i-1) : "ball";
_root.conteneur["ball"+i].onEnterFrame = function() {
this._x += (_root.conteneur[this.prevmc]._x-this._x)/2;
this._y += (_root.conteneur[this.prevmc]._y-this._y)/2;
};
}
}
setzeTrailer(20, 20);
Rejoignez-nous