Comunidad de diseño web y desarrollo en internet online

incluir frame a frame automaticamente

Citar            
MensajeEscrito el 07 Abr 2009 07:08 am
Hola a todos. Este es mi primer mensaje tras registrarme
Me he iniciado en ACS3 y he creado un swf muy simple que consiste en importar una película y que,con las teclas o la posición del ratón (mouseX), la película se mueva hacia delante o hacia atras.

La manera más simple es importando la película e incluyendola en el stage. El problema es que hacia delante corre fluidamente pero en dirección contraria no (se atasca)

He conseguido que corra a igual velocidad convirtiendo la película en imagenes (todos los frames, exportandolos desde quicktime), y colocando luego cada imagen en cada frame de mi película (creando un key frame para cada imagen)

Lo malo es que esto es demasiado tedioso. Se coloca el primer frame, se crea un nuevo keyframe (F6) y luego se intercambia la imagen (swap), pero hay que hacerlo 100 veces para unos pocos segundos

¿Alguien conoce algun método para incluir cada frame de la película importada en un frame de la película de flash de una manera más o menos automática?

gracias de antemano

Por sinbatm

10 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Abr 2009 11:46 am
Supongo que estás usando AS3, para ir hacaia atrás usas

Código ActionScript :

this.addEventListener(Event.ENTER_FRAME, atras)
function atras(evt:Event):void{
  this.gotoAndStop(this.currentFrame-1)
}


Luego convertir a video, encodear poniendo un keyframe por segundo y hacer un seek un segundo hacia atrás estoy seguro que se verá a los saltos, y en cualquier caso es mas difícil

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2009 05:20 pm
Efectivamente uso AS3

tengo dos scrips, uno para utilizar cuando el mouseX esta más a la derecha o a la izquierda de determinado valor:

stop();
stage.addEventListener(Event.ENTER_FRAME, onEnterFrameEventHandler);
function onEnterFrameEventHandler(event:Event):void
{
if (mouseX < 225) {
gotoAndStop (currentFrame -1);
} else[/code] {
gotoAndStop (currentFrame +1);
}
}


otro para hacerlo con las teclas derecha e izda

el problema es que tras importar la película y luego publicar el swf, la pelicula que resulta camina bien hacia delante pero bastante mal hacia atras (no se porque)
El camino hacia atras es perfecto si la creo frame a frame (un frame de la película original en cada frame del proyecto flash) pero esto es muy lento.

Me gustaria saber si se pudiese importar los frames (imagenes) en cada frame de flash mediante codigo (con un loop o algo parecido) o si alguien sabe la manera de que la película en marcha atras (rewind) camine sin saltos/pararse, a la misma velocidad que hacia delante

Gracias Jorge

Por sinbatm

10 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Abr 2009 05:29 pm
Si tienes code en los frames eso influye, los tween normales deberían caminar bien, las interp[olaciones de forma puede que mas o menos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2009 06:52 pm
Creo que no me he explicado nada bien
No hay interpolaciones ni tweens

Es la película más simple que puede hacerse: Un grafico en cada frame

Cojo un segundo de una película .avi o .mov y lo exporto en con quicktime con la opcion exportar:película como secuencia de imagenes

Si la película esta a 25 fps (pal), me genera las 25 imagenes y las numera (pelicula 01.jpg, pelicula 02.jpg.....pelicula 25.jpg)

Importo todas las imagenes en flash

Añado la primera imagen al frame1 de flash. Creo un key frame para los primeros 25 frames y cambio la imagen de cada frame de flash por la que le corresponde (sustituyendola mediante "swap").

De esta manera la película corre perfectamente tanto para delante como para detras.
El inconveniente es..... 25 keyframes distintos para cada segundo de película

La duda es si esto se puede hacer de otra manera en lugar de manualmente

salu2

Por sinbatm

10 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Abr 2009 06:57 pm
Repito, si antes de hacer todo lo que explicaste, la peli original (el flash antes de generar el video) tiene código en los fotogramas o complejas interpolaciones de forma o mucha cantidad de gráficos, puede que vaya mal. Básicamente el original tiene que ir muy liviano de CPU (eso lo chequeas haciendo Ctrl+Alt+Del en Windows mientras lo reproduces, tab rendimiento)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2009 07:21 pm
:oops:
Lo siento Jorge, pero de verdad que no se como explicarme
No hay interpolaciones
No hay código extraño


No hay nada más que 25 imagenes, una en cada keyframe y el codigo AS3 es sencillisimo (solo para moverse adelante o atras)

Es exactamente igual que una pelicula .avi, .mpg o .wmv o .mov que se ve (en lugar que con el quiktime u otro player) con el swf player.

El problema es que si importo la película sin más (aunque solo dure unos segundos) marcha atras no va bien
Si importo sus innumerables imagenes si marcha.

Mi CPU es un IMAC de 24" que puede con todo tipo de multimedia y la película que se crea

Por sinbatm

10 de clabLevel



 

safari
Citar            
MensajeEscrito el 07 Abr 2009 07:31 pm
Ok, hasta donde se con code lo único que puedes hacer es lo que ya expusiste (currentFrame-1 en un onEnterFrame)

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.