Comunidad de diseño web y desarrollo en internet online

Estoy atrapado em un loop

Citar            
MensajeEscrito el 08 Sep 2008 03:40 pm
Hola a todos, soy nuevo en flash y me gustaria mucho que me ayuden. Ya lei la ayuda de flash y algunos posts del foro pero no encuentro l asolucion par salir de este loop.

Código :

on (release) {
   this.onEnterFrame = function() {
      var taimer:Number;
      taimer = setInterval(vamos, 0500);
      if (this._currentframe != 6) {
         this.play();
      } else {
         stop();
         delete this.onEnterFrame;
      }
      function vamos() {
         play();
         var tecma:Number;
         tecma = setInterval(palla, 1000);
         clearInterval(taimer);
      }
      function palla() {
         stop();
         _root.gotoAndPlay("exito");
         clearInterval(tecma);
      }
   };
}


Desde ya muchas gracias. ^^

Por Sun_Fire

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Sep 2008 03:55 pm
No se muy bien lo que quieres hacer, pero si hay algo, un evento onEnterFrame se ejecuta al entrar un Frame y dependiendo de a cuantos Frames por segundo lo tengas configurado (12, 24, etc) estas llamando muchas veces a taimer = setInterval(vamos, 0500);
Creo que deberias poner una variable de control que verifique que no entre al intervalo hasta que haya terminado de correr todo lo que hace ese intervalo.
Como asi:

this.onEnterFrame = function() {
var taimer:Number;
if (entra == false){
taimer = setInterval(vamos, 0500);
entra = true
}
if (this._currentframe != 6) {
this.play();
} else {
stop();
delete this.onEnterFrame;
}
function vamos() {
trace ("vamos")
play();
var tecma:Number;
tecma = setInterval(palla, 1000);
clearInterval(taimer);
}
function palla() {
trace ("palla")
stop();
_root.gotoAndPlay("exito");
clearInterval(tecma);
trace (entra)
entra = false
}
};
Espero te sirva

Por estebanam1982

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Sep 2008 05:52 pm
Muchas Gracias.

Lo que me planteas los resolvi de la siguiente manera:

Código :

on (release) {
   this.onEnterFrame = function() {
           if (this._currentframe != 6) {
         this.play();
      } else {
         stop();
 var taimer:Number;
      taimer = setInterval(vamos, 0500);
         delete this.onEnterFrame;


Es decir, movi el interval. de modo que sólo se ejecute al llegar a este fotograma, ahora ya avanza pero el problema es que se repite todo el swf desde el inicio y no lo puedo detener ni siquiera con la instancia stop();

Por Sun_Fire

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Sep 2008 07:33 pm
Describe detalladamente que quieres lograr y que es lo que hace tu código en este momento.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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