Comunidad de diseño web y desarrollo en internet online

Problema con setInterval AS20

Citar            
MensajeEscrito el 12 Jun 2011 07:08 am
Bueno , el tema es que queria realizar un juego y que al apretar un boton, se ejecute la animacion del golpe, pero que este tenga intervalo, no que golpee todo el tiempo, entonces use setInterval.

Para simplificarlo primero lo probe con otra animacion aparte, un Cuadrado.

Lo que quiero hacer es que cuando apretes ESPACIO, se reproduzca una de las ditsintas animaiciones del cuadrado, pero que esta tenga un intervalo. y luego de que esta se realice, automaticamente, vuelva a la priemra animacion, ( el cuadrado Quieto ). No se si me explique bien, ( El MovieClip "cuadrado", dentro tiene distintas "acciones", el quieto , y el moviendose, yo quiero que cuando apretes espacio, se ejecute su animacion moviendose, y que cuando esta termine , vuelva a estar quieto, osea vuelva al fotograma 1, donde esta su animacion de el quieto. )


Este es el actionscript que use, en el MovieClip "cuadrado" :

Código ActionScript :

 onClipEvent (enterFrame) {


   var tope:Number = 1;

   var repeticion:Number = setInterval(parar, 3000);



   if (Key.isDown(Key.SPACE)) {

      gotoAndPlay(2);

      function parar() {



         clearInterval(repeticion);

      }
   }
}



Ahora bien, el problema es que, lo hace bien, pero al terminar la animacion, esta se vuelve a repetir, y luego lo vuelve a hacer, y luego directamente, lo hace, pero sin que se aplique el intervalo..., lo que trate de hacer es en el ultimo fotograma de ella, agregarle :

Código ActionScript :

 gotoAndStop(1); 



pero, no funciona :S ( ademas de que ya en su fotograma dice Stop(); ) .

Tambien me gustaria hacer, que cuando la animacion termine el cuadrado se quede en " quieto ", por mas que yo siga manteniendo presionado ESPACIO, osea , que tenga que soltar y volver a presionar para efectuar denuevo la animacion, y no que se ejecute todo el tiempo mientras tengo presionado espacio.


En Resumen, Arreglar el Auto-Animacion ( xDDD ) ese, y ver si es posible que tenga que soltar y volver a presionar espacio para que se vuelva a efectuar la animacion dentro del cuadrado (y no que se ejecute todo el tiempo mientras lo mantengo presionado)


Si no fui muy claro, o no entienden , pidanme que especifique, hare todol o posible, porfavor ayudenme!

Por azokasion

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jun 2011 01:57 pm
Tu script tiene en principio al menos tres errores:

- Usa código directamente en el MovieClip, cuando desde Flash MX se aconseja hacerlo en la línea de tiempo
- Declara un setInterval en un onEnterFrame, esto hace que tu setInterval se declare 24 veces por segundo (seg{un a cuantos FPS lo tengas)
- Declaras la función parar dentro del KeyDown, esto hace que se redeclare cada vez que le das a la barra espaciadora

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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