Comunidad de diseño web y desarrollo en internet online

Detener una funcion con attachmovie efecto de Estrellas???

Citar            
MensajeEscrito el 14 Feb 2008 04:55 pm
Que tal.... tengop este efecto de estrellas

es un mc con linkage "movstar"
y un mc en el escenario que tiene el Nombre de instancia "Star"

Código :

this.boton.swapDepths(2000);
var j = 0;
function addStar() {
   if (j<50) {
      var t:MovieClip = Star.attachMovie("movstar", "star"+j, Star.getNextHighestDepth());
      j++;
      t._xscale = t._yscale=Math.random()*80+20;
      t._x = Math.random()*Star._width;
      t._y = Math.random()*Star._height;
      t._alpha = Math.random()*40+5;
   }
}
space._x = Star._x;
space._y = Star._y;
//----------------------------------------------
this.boton.onRollOver = function() {
   myInterval1 = setInterval(addStar, 15);
};


mi pregunta es como puedo eliminar las estrellas una por una cuando el boton este en RollOut...???

intente limpiando el intervalo

Código :

clearInterval(myInterval1);


pero no funciona se quedan las estrellas en la misma posicion, solo las puedo borrar todas a la vez con esto:

Código :

removeMovieClip(Star);


pero el problema es que cuando me vuelvo a poner en rollOver sobre el boton no aparecen de nuevo...

que puedo hacer??? :shock:

Gracias

Por Chevy

165 de clabLevel

1 tutorial

Genero:Masculino  

Ecuador

firefox
Citar            
MensajeEscrito el 14 Feb 2008 05:11 pm
Tienes que hacer algo así

Código :

this.boton.swapDepths(2000);
var j = 0;
var myInterval1:Number;
function addStar() {
   if (j<50) {
      var t:MovieClip = Star.attachMovie("movstar", "star"+j, Star.getNextHighestDepth());
      j++;
      t._xscale = t._yscale=Math.random()*80+20;
      t._x = Math.random()*Star._width;
      t._y = Math.random()*Star._height;
      t._alpha = Math.random()*40+5;
   }
}
function removeStar() {
   if (j<50) {
      Star["star"+j].removeMovieClip();
      j++;
   } else {
      clearInterval(myInterval1);
   }
}
//----------------------------------------------
this.boton.onRollOver = function() {
   clearInterval(myInterval1);
   j = 0;
   myInterval1 = setInterval(addStar, 15);
};
this.boton.onRollOut = function() {
   clearInterval(myInterval1);
   j = 0;
   myInterval1 = setInterval(removeStar, 15);
};


Saludos

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 14 Feb 2008 08:00 pm
wow!!!

Gracias Cep... funciona a la perfeccion... intente y reintente pero no desaparecian gracias por tu ayuda....

:D

Por Chevy

165 de clabLevel

1 tutorial

Genero:Masculino  

Ecuador

firefox
Citar            
MensajeEscrito el 22 Abr 2008 04:47 pm
Que tal Cep, viendo bien el efecto funciona, todo va bien, pongo el mouse encima y espero a que se carguen totalmente las 50 estrellas, hast ahi excelente, pero si me pongo fuera del boton y regreso rapidamente las estrellas anteriores se mantienen y aparecen otras 50 estrellas y ya al salirme para ver si desaparecen todas las estrellas me doy cuenta de que las primeras estrellas se mantienen y no se borran por nada del mundo... que podria ser?.

Gracias

Atentamente,
Sebastian Garcia

PD. espero que entiendas

Por Chevy

165 de clabLevel

1 tutorial

Genero:Masculino  

Ecuador

firefox
Citar            
MensajeEscrito el 22 Abr 2008 05:34 pm

Código :


this.boton.swapDepths(2000);
var j = 0;
var myInterval1:Number;
function addStar() {
   removeAllStars();
   if (j<50) {
      var t:MovieClip = Star.attachMovie("movstar", "star"+j, Star.getNextHighestDepth());
      j++;
      t._xscale = t._yscale=Math.random()*80+20;
      t._x = Math.random()*Star._width;
      t._y = Math.random()*Star._height;
      t._alpha = Math.random()*40+5;
   }
}
removeAllStars(){
   clearInterval(myInterval1);
   for(var i:Number = 0; i<50; i++){
      Star["star"+i].removeMovieClip();
   }
}
function removeStar() {
   if (j<50) {
      Star["star"+j].removeMovieClip();
      j++;
   } else {
      clearInterval(myInterval1);
   }
}
//----------------------------------------------
this.boton.onRollOver = function() {
   clearInterval(myInterval1);
   j = 0;
   myInterval1 = setInterval(addStar, 15);
};
this.boton.onRollOut = function() {
   clearInterval(myInterval1);
   j = 0;
   myInterval1 = setInterval(removeStar, 15);
};

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 22 Abr 2008 08:26 pm
Excelente... yo lo hice con un for pero lo puse dentro de la funcion removeStar pero no funciono... Gracias

Por Chevy

165 de clabLevel

1 tutorial

Genero:Masculino  

Ecuador

firefox
Citar            
MensajeEscrito el 22 Abr 2008 08:53 pm
pero al igual que la funcion removeAllStars no funciona... solo aparece una sola estrella

Por Chevy

165 de clabLevel

1 tutorial

Genero:Masculino  

Ecuador

firefox
Citar            
MensajeEscrito el 22 Abr 2008 09:03 pm

Código :

this.createEmptyMovieClip("space",1000);
var j = 0;
var myInterval1:Number;
function addStar() {
   removeAllStars();
   if (j<100) {
      var t:MovieClip = space.attachMovie("movstar", "star"+j, space.getNextHighestDepth());
      j++;
      t._xscale = t._yscale=Math.random()*80+20;
      t._x = Math.random()*Star._width;
      t._y = Math.random()*Star._height;
      t._alpha = Math.random()*40+5;
   }
}
function removeAllStars() {
   clearInterval(myInterval1);
   for (var i:Number = 0; i<100; i++) {
      space["star"+i].removeMovieClip();
   }
}
function removeStar() {
   if (j<100) {
      space["star"+j].removeMovieClip();
      j++;
   } else {
      clearInterval(myInterval1);
   }
}
space._x = Star._x;
space._y = Star._y;
//----------------------------------------------
this.b1_btn.onRollOver = function() {
   clearInterval(myInterval1);
   j = 0;
   myInterval1 = setInterval(addStar, 15);
};
this.b1_btn.onRollOut = function() {
   clearInterval(myInterval1);
   j = 0;
   myInterval1 = setInterval(removeStar, 15);
};


solo se ve una sola estrella, :D

Por Chevy

165 de clabLevel

1 tutorial

Genero:Masculino  

Ecuador

firefox
Citar            
MensajeEscrito el 22 Abr 2008 09:30 pm
Solo mueve la llamada removeAllStars al rollOver

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 22 Abr 2008 09:52 pm
gracias pero en ese caso ya no seria util la funcion removeStar.

:D

Por Chevy

165 de clabLevel

1 tutorial

Genero:Masculino  

Ecuador

firefox
Citar            
MensajeEscrito el 22 Abr 2008 10:02 pm
la función removeStar se llama en el setInterval del rollOut, la función removeAllStars limpia todas las estrellas qeu hayan quedado cuando haces el rollOver

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 22 Abr 2008 10:09 pm
gracias por la explicacion.

Por Chevy

165 de clabLevel

1 tutorial

Genero:Masculino  

Ecuador

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.