Comunidad de diseño web y desarrollo en internet online

duda con aS3

Citar            
MensajeEscrito el 01 Sep 2010 03:02 am

Holaa la verdad soy nuevo aqui y pues soy medio nuevo no animando en eso soy bastante bueno mi problema es cuando empese a querer ocupar AS3 y pues es un lenguaje de programacion un poco complejo y pues alli la llevo mi problema es que investige por muchos lados pero pues nunk encontre lo deseado por eso recurro a esta comunidad
Saben si en As3 existe un script que haga una especie de Pausa por un tiempo determinado y luego reanudarse automaticamente o bien cuando animamos en clips de pelicula individuales sobre la linea de tiempo principal existe alguna manera de que no se reprodusca el siguiente clip hasta que el primero termine y asi susesivamente pero sobre la linea del tiempo principal... habia oido algo como usar un timer o algo asi pero pues como soy nuevo en este lenguaje agradeceria mucho cualquier ayuda y pues en un futuro aportar proyectos de animacion que tengoo que por falta de coco no eh terminado y me gustaria compartir Graciass y pues ojala alguien me pueda ayudar

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 01 Sep 2010 01:37 pm
Aqui mismo, en Cristalab hay un post relacionado con esto:

http://www.cristalab.com/tips/la-clase-timer-el-setinterval-de-as3-c30176l/

Aquí, el código explica lo más básico de la clase timer.

Saludos!

Por truenillot

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Sep 2010 12:07 am
Como veo que la pregunta hecha por adrianes se me hace un poco confusa voy a intentar resolverla..
Así aprendo yo de igual forma por si algo me sale mal me lo indica alguien por favor.

Requiere en AS3:

“un script que haga una especie de Pausa por un tiempo determinado y luego reanudarse automáticamente”

O

Cuando animamos en clips de película individuales sobre la línea de tiempo
“no se reproduzca el siguiente clip hasta que el primero termine y así sucesivamente pero sobre la línea del tiempo principal...”


Ok aquí veo 2 cosas distinta:

1.- Programar sobre la Línea de Tiempo
2.- un Script que anime Automáticamente como por ejemplo un Timer como ya lo indico "truenillot" que por cierto coloca un tutorial muy bueno

Ahora aclarando un par de cosas.

por experiencia propia te recomiendo que si ya te estás adentrando en el mundo del AS3 en el uso de CLASES es mejor y más fácil generar clases sin usar mucho la Línea de Tiempo incluso con un solo Frame de la Línea de tiempo ya que es muy organizado, de hecho cuando digo que es FACIL la gente piensa que estoy loco, pero lo digo enserio es cuestión de entender cómo funcionan la ContenDisplay como una gran caja y dentro mas cajitas algo así, un día de estos voy a ver como hago un tutorial aquí para poder explicarlo mejor.
Bueno vamos a los consejos.
Seria mas fácil que: o vallas creando tus animaciones, clips, etc etc, en la librería "ojo no en el escenario" una vez teniéndolos ahí los Vinculas para ActionScript les das un nombre de clase y los puede mandar a llamar mediante variables y tan solo sería crearlo en 1 solo Frame si hablamos de la Línea de tiempo como tú dices.
Pero bueno vamos a realizar lo que yo entendí que tú necesitabas.
Mírate este SWF.



ahora el codigo:

Código ActionScript :

var tiempo:Timer = new Timer(1000, 0);
   tiempo.addEventListener(TimerEvent.TIMER, continua);
   tiempo.start();

var totalDiapo:int = 3;

function continua(e:TimerEvent):void
{
   totalTimer.text = e.target.currentCount;
   if(currentFrame == (totalDiapo+1))
   {         
      gotoAndStop(2);
   }
   else
   {
      nextFrame();
   }
}   


ahora la explicacion:

Este está hecho mediante un TIMER el cual se genera una continuidad automática que cambia cada 3seg el código es muy sencillo. Lo meto directamente en la Línea de tiempo en el Primer Frame, en el segundo Frame Tengo la Primer Diapositiva por así decirlo, y como ya traigo el Timer en el bufer este sigue aun este en el Frame 2 en el Frame 2 tengo un stop(); para que se quede ahí quieto hasta que se cumpla la condición de pasar al siguiente Frame ósea nextFrame(); cuando llega al frame 3 y piensa pasar al frame siguiente ósea el 4 ahí es cuando estaba condicionado a volver al Frame 2 ósea donde está la primer diapositiva, esto posiblemente podría servir para una presentación de diapositivas y que quieras ir mostrando según el tiempo que le metas al Timer en su definición:

Código ActionScript :

var tiempo:Timer = new Timer(3000, 0); // el  3000 es igual a 3 segundos 


aho mirate este:



ahora el codigo:

Código ActionScript :

stop();
clip01.addEventListener(Event.ENTER_FRAME, valida1);   

function valida1(e:Event):void
{
   if(e.target.currentFrame == e.target.totalFrames)
   {
      e.target.removeEventListener(Event.ENTER_FRAME, valida1);
      gotoAndPlay(2);
   }
      numFrame.text = e.target.currentFrame;
      totalFrame.text = e.target.totalFrames;   
}


He hecho ese código y lo he metido en cada Frame desacuerdo a los clips que quiera meter modifico ligeramente el Script por ejemplo este es el mismo script en el Frame 2 ligeramente modificado:

Código ActionScript :

stop();
clip02.addEventListener(Event.ENTER_FRAME, valida2);

function valida2(e:Event):void
{
   if(e.target.currentFrame == e.target.totalFrames)
   {
      e.target.removeEventListener(Event.ENTER_FRAME, valida2);
      gotoAndPlay(3);
   }
      numFrame.text = e.target.currentFrame;
      totalFrame.text = e.target.totalFrames;      
}

Lo que cambia es el nombre de la function y el

Código ActionScript :

gotoAndPlay(3);



Cuál es la Diferencia de este método bueno lo que está pasando aquí es que se ejecuta un ENTER_FRAME del clip este va validando los Frames Internos de ese clip lo puedes ver en la parte superior como va cambiando y lo que hago es validarlo que el total de Frames que tiene ese clip internamente así cuando llego al final lo único es que lo envió al siguiente Frame y así con los demás cuando llego al último le envió al inicio.

Cualquiera puede tener el conocimiento solo es cuestión de saber cómo encontrarlo. Desde

Por macrowebdigital

7 de clabLevel



 

2002

firefox

 

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