Comunidad de diseño web y desarrollo en internet online

Duda con "clearInterval" y "setInterval"

Citar            
MensajeEscrito el 14 Feb 2011 02:57 am
Hola comunidad de Cristalab, tengo una duda con AS2.

INTRODUCCIÓN:
Improvisé este AS2 para un clearInterval y setInterval, sin embargo no funciona como quiero.

DESARROLLO:
Tengo un botón, que al presionar hace una suma, un texto dinámico llamado "suma_txt", y este está hecho símbolo, llamado "suma_mc".

FUNCIÓN DEL AS:
La función del Script es esta, al presionar el botón, empieza a sumar una cantidad, (suma_txt), pero si no presionas el botón de suma empieza una cuenta de 1 segundo, que si pasa este segundo, la cantidad se convierte en ceros.

Código ActionScript :

_root.suma_mc.SUMA = false;
//Referencia de "suma_txt".
var suma_txt:Number = 0;
//Conteo.
clearInterval(SUMA);
//El "ID", de setInterval.
function Adicion () {
//Función de Adicion.
   if (suma_txt > 0) {
   //Cuando "suma_txt" es mayor que 0.
      if (!_root.suma_mc.SUMA) {
      //Hace referencia de la suma.
         suma_txt = 0;
         //Y vuelve el conteo en ceros.
      }
   }
}

SUMA = setInterval(Adicion, 1024);
//El intervalo será de 3 segundos, funcion de los Hits. El tiempo que tendrás para hacer otro combo.


PROBLEMA:
Lo que sucede, es esto, resulta que al presionar el botón de suma, también tengo un segundo para hacer la adición :S

SOLUCIÓN:
Lo que quiero es que al presionar la suma, el "setInterval", vuela a iniciar el conteo de 1 segundo.

Espero que me haya expresado con claridad, y me ayuden con la solución.
___

No soy el verdadero peon007, ya tuve un problema por esto :P solo usé su nombre.

Por peon007

40 de clabLevel



Genero:Masculino  

Programador & Dibujante

chrome
Citar            
MensajeEscrito el 14 Feb 2011 07:52 am
No entiendo porque hace eso en el código, yo lo haría simplemente:

Código ActionScript :

var suma:Boolean = false;
var suma_txt:Number = 0; 
function Adicion () { 
   if (!suma) { 
      suma_txt = 0; 
   } 
}
id_suma = setInterval(Adicion, 1000);


Por cierto, la próxima usa el tag [h2] para los títulos.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 14 Feb 2011 06:17 pm
Gracias Hernán por la simplificación del código, sin embargo, sigo teniendo el problema...

Que cada vez que sigo aumentando mi suma, solo tengo un segundo para adicionar antes de que sean ceros otra vez.

Código ActionScript :

//SetInterval
var suma:Boolean = false; 
var suma_txt:Number = 0;  
function Adicion () {  
   if (!suma) {  
      suma_txt = 0;  
   }  
} 
id_suma = setInterval(Adicion, 1000);
//Listener Boton
var teclado:Object = new Object();
teclado.onKeyDown = function () {
   if (Key.isDown(Key.UP)) {
      suma_txt += 1;
   }   
}
Key.addListener(teclado);


¿Cómo puedo hacer que al sumar, el conteo de "setInterval", comience nuevamente cuando presione Arriba?

Espero haberme expresado bien...

Por peon007

40 de clabLevel



Genero:Masculino  

Programador & Dibujante

chrome
Citar            
MensajeEscrito el 15 Feb 2011 03:22 am
Oh.. entonces no entiendes tu propio código. ¿Lo has copiado o algo así no?

Si quieres que sea más de un segundo, eleva de 1000 milisegundos a lo que quieras:

Código ActionScript :

id_suma = setInterval(Adicion, 5000);// 5 Segundos


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 16 Feb 2011 01:55 am

Hernán escribió:

Oh.. entonces no entiendes tu propio código. ¿Lo has copiado o algo así no?

Si quieres que sea más de un segundo, eleva de 1000 milisegundos a lo que quieras:

Código ActionScript :

id_suma = setInterval(Adicion, 5000);// 5 Segundos


Saludos, Hernán . -


No, todo lo he improvisado, a excepción el código que me ayudase a realizar, lo que quiero, es que cuando sume en la adición, el setInterval se suspenda, es decir;

...presiono para hacer la adición, se suspende interval... dejo de presionar, continua el interval desde 0.

Espero ahora sí, haberme expresado bien.

Gracias por tomarte el tiempo por responderte :lol:

Por peon007

40 de clabLevel



Genero:Masculino  

Programador & Dibujante

chrome
Citar            
MensajeEscrito el 16 Feb 2011 02:57 am
Pues pon suma en true y ya no funcionará. Para que andar suspendiendo el intervalo.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

chrome
Citar            
MensajeEscrito el 16 Feb 2011 06:01 pm
Ok,... Muchas gracias...

Por peon007

40 de clabLevel



Genero:Masculino  

Programador & Dibujante

chrome

 

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