begin process at 2008 07 21 00:20:36
1 213 521 membres
422 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Effacer un clip dans un preload... [ Archives / ActionScript ] (Thatagata)

Effacer un clip dans un preload... le 09/04/2005 14:16:08

Thatagata
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; i<anz; i++) {
  _root.ball.duplicateMovieClip("ball"+i, tiefe--);
  var wert = 100-i*(10/(anz/10));
  _root["ball"+i]._alpha = wert;
  _root["ball"+i]._xscale = wert;
  _root["ball"+i]._yscale = wert;
  _root["ball"+i].prevmc = i>0 ? "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.

Re : Effacer un clip dans un preload... le 09/04/2005 15:11:15

goldenboy68
Réponse acceptée !
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

Re : Effacer un clip dans un preload... le 09/04/2005 16:01:57

Thatagata
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; i<anz; i++) {
  _root.conteneur.ball.duplicateMovieClip("ball"+i, tiefe--);
  var wert = 100-i*(10/(anz/10));
  _root.conteneur["ball"+i]._alpha = wert;
  _root.conteneur["ball"+i]._xscale = wert;
  _root.conteneur["ball"+i]._yscale = wert;
  _root.conteneur["ball"+i].prevmc = i>0 ? "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);

Re : Effacer un clip dans un preload... le 10/04/2005 14:41:47

goldenboy68
Réponse acceptée !
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


Classé sous : clip, math, root, preload, ball

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

Snippets en rapport

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS