Parar reproducción pelicula
6 seguidores
Buenas, estoy haciendo una presentación en flash y el cliente me ha pedido poder pararla en cualquier momento con una tecla. Estoy dándole vueltas pero no hay manera, uso la tecla enter pero esa es la que viene por defecto y entonces no puedo controlar cuándo está activa la función y cuándo no. ¿Alguna sugerencia?
Muchas gracias de antemano.
musikboy
Estoy probando a usar una función que sea el objetivo de las acciones de parar y reanudar pero de momento no funciona:
_root.objeto = "_root";
y _root.objeto = "_root.clip";
Después hago la llamada:
function activa(){
_root.objeto.play();
}
function para(){
_root.objeto.stop();
}
Pero no rula!!
gandalias
Hace tiempo postee estas dos funciones... No se si será lo que quieres
Llamadas:
Parar todos los clips de la peli
pararclips(_root)
y para volver a moverlos
moverclips(_root)
Funciones:
function pararclips(clip) {
for (miclip in clip) {
pararclips(clip[miclip]);
}
clip.stop();
}
function moverclips(clip) {
for (miclip in clip) {
moverclips(clip[miclip]);
}
clip.play();
}
No se si eso lo que quieres...
jesusgollonet
ahm, mejor manera de plantearlo, si señor.
II GemInIs II
es un problema de focalización o llamalo priorización del MC ...
Define una variable o atributo que diga quien tiene el foco para (parar o iniciar) o algo así ...
musikboy
Ok! Probaré con if y _currentframe a ver qué tal. Muchas gracias! :D
jesusgollonet
y controlar con un if si estas en un fotograma antes del 150 o el que sea?
o crear una variable reproduciendo q sea true cuando la linea principal esté andando y false cuando está parada, y hacer la función en consecuencia.
musikboy
Ok, explico.
Empieza la peli, y están pasando cosas en la línea principal. Cuando llega al fotograma 150, se para con stop(). En ese fotograma hay un clip en el que pasan cosas. Mientras pasan esas cosas si el usuario pulsa la tecla (espacio por ejemplo) debe pararse ese clip y no la línea de tiempo. Durante los primeros 149 fotogramas no hay problema, se para y vuelve a andar con la tecla. El problema es que cuando llega al 150 y se para (empieza a moverse lo que hay dentro del clip en ese fotograma) si el usuario le da a una tecla la función echa a andar otra vez la línea principal 151, 152... por lo que se pierde la animación del clip...
:S.
¿alguna idea? gracias :)
II GemInIs II
cuando debe detenerse el MC_principal y cuando el MC_secundario?
musikboy
Ok, ok, gracias geminis, afortunadamente eso sí lo tengo claro XD. Mi problema es que tengo que usar la misma tecla, y esa tecla unas veces debe parar la linea principal y otras un movieclip. Ese es el punto que no logro resolver, cómo le digo que unas veces es la línea principal y otras el clip en cuestión.
Gracias!!
II GemInIs II
haber ... no se si te interpreto bien ... así que no te ofendas si lo que te esplico "es ya evidente que lo sepas"
Pero debes utilizar las rutas para controlarlos.
Por ejemplo:
MC_carretera
dentro de MC_carretera otro MC
MC_coche
dentro de MC_coche otro MC
MC_rueda
carretera es tu MC principal ...
para acceder a coche --> MC_carretera.MC_coche
y para acceder a la ruedas del coche --> MC_carretera.MC_coche.MC_rueda
Por lo que si quieres parar o enchegar un MC le das la ruta y usas <em>play</em> o<em> stop </em>o <em>gotoAndPlay</em> para asignar un momento especifico del MC.
Bueno volviendo al ejemplo ... vamos a simular el avance de una carretera con el coche moviendose por ella y las ruedas rodando.
MC_carreter.play(); // la carretera empieza a avanzar.
MC_carretera.MC_coche.play(); //el coche se desplaza por la carretera.
MC_carretera.MC_coche.MC_rueda.play(); // las ruedas hacen el efecto de dar vueltas.
parar ...
MC_carretera.MC_coche.MC_rueda.stop(); // detengo las ruedas
MC_carretera.MC_coche.stop(); //detengo el coche
MC_carreter.stop(); // detengo el movimiento de la carretera
Bueno, esto es muy simplista... pero creo es un problema de concepto, ... sino es asi disculpame :D
Si he acertado ... mirate tambien _parent, this y podrás hacer de todo ...
musikboy
Muchas gracias por las respuestas. La verdad es que me he expresado fatal. Tengo una película en una linea de tiempo. Creo una función (gracias por el codigo) que para y vuelve a funcionar ocn la misma tecla. El problema es cuando la linea de tiempo principal se para (con un stop) para dejar correr un movie clip que está en ese fotograma. La cuestión es, cómo le digo a la función que ahí debe parar el clip que está en la línea principal y no la línea principal misma?
Espero que esta vez esté más claro. Muchas gracias!!
txuma Plus
Si necesitas que una misma tecla cumpla las dos funciones puedes programarlo con un condicional y usar una variable booleana (true-false). Sería algo así (ejemplo con la tecla de direccion izquierda:
<code>
on (keyPress "<Left>") {
if (x == true) {
stop();
x = !x;
} else {
play();
x = !x
}
}
</code>
Salu2
Klein
¿Cómo? No entiendo. ¿Tienes definida ya la función para parar y reproducir la película? ¿Necesitas que la tecla enter ejecute las funciones?
Please, explícate mejor