Foros del Web » Creando para Internet » Flash y Actionscript »

Reproducir hasta un fotograma específico

Estas en el tema de Reproducir hasta un fotograma específico en el foro de Flash y Actionscript en Foros del Web. Hola gente del Foro, soy novato en este club, pero se que me pueden colaborar. Necesito reproducir un clip de película al hacer un roll ...
  #1 (permalink)  
Antiguo 19/07/2008, 11:30
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 9 años, 4 meses
Puntos: 0
Reproducir hasta un fotograma específico

Hola gente del Foro, soy novato en este club, pero se que me pueden colaborar.

Necesito reproducir un clip de película al hacer un roll over sobre el botón y que vaya hasta un fotograma determinado. Pero como son varios botones en un mismo clip, no puedo colocar "stop" en los fotogramas, porque sino pararía cada nada el clip.

Gracias...
  #2 (permalink)  
Antiguo 19/07/2008, 11:43
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Respuesta: Reproducir hasta un fotograma específico

Hola puntalanza:
Bienvenido al Foro.
on(rollOver){
gotoAndStop(número_frame);
}

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 20/07/2008, 16:58
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Reproducir hasta un fotograma específico

Hola Bandit, muchas gracias.

Este script no me sirve porque lo que hace es saltar la película hasta un fotograma y lo que necesito es que la recorra. Es decir, que recorra uno a uno los fotogramas hasta llegar al fotograma deseado.
  #4 (permalink)  
Antiguo 20/07/2008, 20:41
 
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina.
Mensajes: 95
Antigüedad: 10 años, 3 meses
Puntos: 2
De acuerdo Respuesta: Reproducir hasta un fotograma específico

Hace años que no toco flash. Pero por lo que recuerdo, lo que vos decís lo hacía de la siguiente manera.

Suponé que yo tengo el fotograma "1".

En él tengo diferentes "clips de película". Es decir, viste los objetos, que vos los podés crear como: botones, graficos, o clips de pelicula? Bueno, si creas un clip de pelicula y lo insertás en un fotograma, ese clip de pelicula pasa a tener sus propios fotogramas y su propio contador de fotogramas.

Por lo tanto haciendo como yo te digo, primero insertas la pelicula secundaria que queres reproducir en el fotograma que corresponde de la pelicula principal, y después insertás el botón dentro de la pelicula secundaria, al botón simplemente le ponés "play", habiendole puesto un "stop" al primer fotograma en el clip de película. Entonces ese "play" va a reproducir el clip de pelicula pero no va a hacer que se reproduzcan los fotogramas de la pelicula principal, esta va a permanecer en el fotograma "1". Despues simplemente le pones un stop al fotograma dentro del clip de pelicula donde querés que se pare el clip de película.

Eso que te subrayé de que el botón tiene que estar dentro de la película secundaria es porque si vos le ponés un "stop" a algo dentro de la pelicula secundaria, te para la pelicula secundaria.

Pero si vos querés ponerle un "stop" a una pelicula secundaria, desde un botón o fotograma que esté en la película principal, lo que tenés que hacer es, dentro del fotograma de la pelicula principal, seleccionar al clip de pelicula secundario, y donde sale "propiedades" abajo, hay un item que dice: "nombre de instancia". Al menos en el Flash Mx español lo tengo así. Ahí le ponés un nombre, por ejemplo, "película".

Entonces simplemente vas al botón de la película principal y le ponés:

on (release) {
pelicula.play();
}

O sea, le agregas un "pelicula.", cosa que flash sepa que la accion que aplicás debe afectar al clip de pelicula secundario denotado como "pelicula" y no a la pelicula principal.

También existe la posibilidad de estando en un clip de pelicula secundario, afectar a un clip de pelicula de nivel superior (ya q podes hacer tantos niveles como quieras), para eso creo que se ponía un "_root." o algo así, pero eso ya no confíes porque no me acuerdo, es a modo de aclaración nomás. El resto que te digo está bien

Te dejo 2 ejemplos en fla adjuntos. En cada ejemplo revisá bien las acciones del botón que corresponde para ver las diferencias. Uno contiene un simple "play" y el otro un "pelicula.play", fijate.

Así como hice con play podés hacer con gotoandplay y cualquier otra cosa.

http://rapidshare.com/files/131245794/ejemplos.rar.html

ejemplo 1) con el botón dentro del clip secundario.
ejemplo 2) con el botón dentro del clip principal.


Espero que te sirva para implementar lo que querías, cualquier cosa chiflá. Suerte !
  #5 (permalink)  
Antiguo 20/07/2008, 20:52
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Reproducir hasta un fotograma específico

Maxi Gracias, pero no es lo que necesito. tAL VEZ EL TÍTULO DEL TEMA ESTÁ MAL. lo que necesito es RECORRER una cantidad de fotogramas y parar la película en un punto, pero haciéndolo desde una acción en el botón, porque si pongo el "stop" en el fotograma, no lograría los fines deseados.

Lo que quiero es más o menos esto:

Al liberar botón (on release) entonces play película ( gotoAndPlay) y película corre hasta el fotograma(45). (Esta es la acción que me hace falta, creo)
  #6 (permalink)  
Antiguo 20/07/2008, 21:00
 
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina.
Mensajes: 95
Antigüedad: 10 años, 3 meses
Puntos: 2
Respuesta: Reproducir hasta un fotograma específico

Puntalanza, en los ejemplos que te di, se recorren los fotogramas. No se saltea ninguno. Se reproducen uno a uno hasta que llega al ultimo que quieras reproducir y ahi hace stop. Los miraste? Digo, capaz leiste y pensaste que eso no era lo que necesitabas y ni los miraste, en ese caso, miralos y me vas a comprender.

Ahora, vamos de nuevo. Vos decís que necesitás parar en un fotograma. Por qué razón no querés que esa acción de stop esté en el fotograma? por qué decís que no lograría los fines deseados?

EDIT: a ver si te entiendo. Lo que querés vos es una especie de función que llamada desde un botón haga lo siguiente: "Ir al fotograma X y a partir de el recorrer Y fotogramas y después parar". Puede ser? En ese caso mis ejemplos no sirven. Voy a pensar una solución si es así.

En ese caso, se me ocurre una manera pero es muy enquilombada quizás por el hecho de tener que repetir código en todos los fotogramas del clip de pelicula.

Pero vamos:

Primero creas la variable "inicial", y la variable "recorrido". Esta última sería la que te cuenta la cantidad de fotogramas a recorrer.

Después en el botón le pones la acción pelicula.gotoandplay(inicial) ; (supuse que el boton estaba fuera del clip de pelicula, sino simplemente gotoandplay(inicial) ; ) y además recorrido = lo que quieras que recorra ;

Después, en cada uno de los fotogramas del clip de pelicula tendrías que poner este procedimiento:

Cita:
Iniciado por código flash
recorrido = recorrido - 1 ;

if( recorrido == 0)
pelicula.stop() ; // ó stop() ;
Eso mismo lo podés poner en una función, cosa que si necesitás cambiar algo no tenés que cambiar todos los fotogramas sino cambiar la función y listo. Y a la función la llamás en el fotograma.

Lo que hace básicamente eso que escribí es: Supongamos que mandas inicial=3 y recorrido=2.

Cita:
Iniciado por codigo flash
on (release) {
pelicula.play(3);
recorrido = 2;
}
cuando caiga al fotograma va a pasar:

a recorrido le va a restar uno, porque ya está mostrando uno. Si querés podes hacer que se lo reste después del if y te recorrería uno más, eso decidís vos. Lo que hacemos con eso es que con cada fotograma recorrido a recorrido se le reste uno. Después, pregunta si recorrido es igual a cero, que significaría que todos los fotogramas han sido recorridos en la cantidad indicada.

Que sean variables globales asi funciona todo bien.

Suerte.

Última edición por _Maxi; 20/07/2008 a las 21:42
  #7 (permalink)  
Antiguo 20/07/2008, 21:23
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Reproducir hasta un fotograma específico

Maxi, quiero que al hacer roll over en un botón, el clip recorra varios fotogramas hasta llevar la imagen que quiero al frente. Como son varias imagenes, si pusiera stop en los fotogramas cada vez que una va a ir al frente el clip entonces se pararía continuamente.

Ya estoy cerca con una acción que le estoy dando al fotograma donde dice que si la ruta es del botón sobre el que hice el rollover es cierta, entonces la película debe parar en este fotograma.

más o menos así:

if (_root.botón == true) {
stop()
}

pero sé que hay algo mal en la sintaxis, por que la película no para. Me podés ayudar?. Gracias

Es más el efecto que estoy buscando es el que aparece en www.discoverykids.com con las burbujas.

Gracias,
  #8 (permalink)  
Antiguo 20/07/2008, 21:49
 
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina.
Mensajes: 95
Antigüedad: 10 años, 3 meses
Puntos: 2
Respuesta: Reproducir hasta un fotograma específico

Después lo miro, seguramente lo soluciones con eso último que puse cuando edité mi ultimo post, fijate. Tenés que hacer un if. Ahora me tengo que ir, después veo, suerte !!
  #9 (permalink)  
Antiguo 21/07/2008, 01:57
 
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina.
Mensajes: 95
Antigüedad: 10 años, 3 meses
Puntos: 2
Respuesta: Reproducir hasta un fotograma específico

Ahi veo lo que querés hacer.

Yo te diría que hagas algo asi:

Tienes tu película principal (_root), y en ella pones varios clips de películas mas. Uno por cada botón.

Identificas claramente a cada clip de pelicula como "clipboton1", "clipboton2", etc.

Ahora entras a cada clip de pelicula y le pones dentro un botón a cada uno.

A cada clip de película le pones en el fotograma inicial:

Cita:
stop() ;
var back ;
Luego al botón le pones:

Cita:
on (rollover) {
back = 0 ;
play();
}
Y en el último fotograma de la animacion del clip de película ponés:

Cita:
stop();
En el resto de los fotogramas menos el primero y el ultimo ponés:

Cita:
if(back == 1) {
previousFrame() ;
}
else play() ;
Ahora en el botón agregás esta parte:

Cita:
on (rollout) {
back = 1 ;
previousFrame() ;
}
con lo cual las acciones del botón te quedarían:

Cita:
on (rollover) {
back = 0 ;
play();
}

on (rollout) {
back = 1 ;
previousFrame() ;
}
con ese previousFrame(); mas poner el back en 1 cuando se mueve el mouse del botón, hace que vuelva hasta el fotograma anterior, donde pregunta que si el back vale 1 vuelva al otro, y así hasta que llega al primero donde un stop asi que no pasa nada.

Quiero aclararte que no recuerdo bien si para poner una acción dentro de un fotograma de una clip secundario habia que poner onenterframe(); o algo asi. Eso quizás haya que ponerlo, la verdad no recuerdo. Fijate si anda así.

Más que nada te quiero dar una idea para que lo puedas hacer vos a tu forma después. Debe haber muchas formas de hacerlo.

Recuerda que lo hice con los botones dentro de los clips de pelicula secundarios.

EDIT: no es necesario el onenterframe(), es por si querés que algo pase inmediatamente ni bien se carga el frame.

Fijate si no te anda, de agregarlo. acá se te explica como funciona: http://livedocs.adobe.com/flashlite/2_es/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000660.ht ml

EDIT2: puntalanza, también puedes poner el código todo en los frames de los clips de película.

acá lo hacen de esa manera, te recomiendo mirarlo y si no entiendes algo me dices a mi, si?

http://www.kirupa.com/developer/mx2004/button_effect.htm

EDIT3: otro ejemplo en español: http://www.cristalab.com/tutoriales/123/boton-con-fade-in-y-fade-out-animado.html

suerte

Última edición por _Maxi; 21/07/2008 a las 04:40
  #10 (permalink)  
Antiguo 21/07/2008, 18:20
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Reproducir hasta un fotograma específico

Hola Maxi, te agradezco mucho, voy a revisar y luego hablamos a ver como me fue.
  #11 (permalink)  
Antiguo 22/07/2008, 07:01
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Reproducir hasta un fotograma específico

Hola Maxi, estuve mirando los ejemplos que me diste. Muchas gracias, de ahí extraje más o menos esta formula pero hay algo que aun falla. lo que estoy tratando de ordenar es que si al hacer roll over en el botón el fotograma es diferente al 25, entonces el Movie Clip del banner debe rodar, pero en caso contrario, debe parar.

Hasta aquí la orden hace rodar la película, pero el muy desgraciado pasa de largo por el 25 y no para!!!!

REVISA A VER QUE VES Y ME CUENTAS, NUEVAMENTE. gRACIAS!


Código PHP:
[on (rollOver) {
     
banner.onEnterFrame = Function();
    
    if(
banner._currentframe !=25){
        
this.play();
        }
    else{
        
banner.stop(); 
}
}
  #12 (permalink)  
Antiguo 22/07/2008, 19:59
 
Fecha de Ingreso: septiembre-2007
Ubicación: Buenos Aires, Argentina.
Mensajes: 95
Antigüedad: 10 años, 3 meses
Puntos: 2
Respuesta: Reproducir hasta un fotograma específico

Hola, podrías agregarme al msn así lo charlamos mejor?

maxee (at) h0tmail (punto) com
  #13 (permalink)  
Antiguo 23/07/2008, 11:24
 
Fecha de Ingreso: julio-2008
Mensajes: 7
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Reproducir hasta un fotograma específico

Hola Maxi y gente del foro, en este momento llevo la formula así, basado en las ayudas que me han dado. Sin embargo se que aun falta algo porque ahora la película no para. Aclaro que la acción se le esta aplicando al botón para que vaya a nextframe y se reproduzca indefinidamente para que en este caso llegue al fotograma 13. Lo que creo que no está funcionando bien es que al llegar al último frame. La película se detiene y de ahí en adelante, ningún botón hace caso



Código PHP:
on (rollOver) {
_root.banner.onEnterFrame = function() {
if (
_root.banner._currentframe!=13) {
_root.banner.nextFrame();
} else {
delete _root.banner.onEnterFrame;
}
};

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:40.