Comunidad de diseño web y desarrollo en internet online

Problemas con movieclip.

Citar            
MensajeEscrito el 07 Nov 2012 09:15 pm
Hola.
Estoy haciendo una animación, y como en ella copypasteo mucho y hay muchas escenas, se me ocurrió la genial idea de poner cada escena en un movieclip, y cada movieclip en un fotograma. De forma que en el fotograma 11 hay la escena 1, en el fotograma 12 hay la escena 2, etc.
Además, se me ocurrió la idea de que con el teclado el usuario pudiera avanzar/retroceder de una escena a otra o volver al menú principal.
El problema vino cuando a la animación le puse sonido. Si estoy viendo la escena 1, y me paso a la 2, el sonido de la 1 y 2 se oyen a la vez. Y si en la 2 todavia no he puesto el sonido, además de oirse el de la 1, la escena va super rapido.
Lo más extraño es que si estoy en el fotograma 1 (donde no hay ninguna escena) y me paso al fotograma 15 (donde está la escena 5), el sonido de la escena 1 se reproduce igual, aunque no hay pisado para nada el fotograma 11.
Por otra parte, esto me pasa si pongo el sonido de forma "normal", pero si lo hago con AS3 no me lo hace. Simplemente termina de reproducir el sonido que está sonando en el momento de cambiar de escena y ya está. Ni aceleración ni nada. Pero este metodo es más costoso y prefiero el otro.
Hace unos meses pregunte una duda similar aquí y me dijisteis que usará el stage.focus=stage; pero no me funciona.
¿Algún consejo?

Por el_arcano

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Nov 2012 08:52 pm
Hola, gente. He estado trasteando un poco y creo que ya lo tengo medio solucionado. Lo que he hecho a sido poner este codigo en el primer frame de cada escena:

stage.focus=stage;

import flash.display.Stage;
import flash.display.StageDisplayState;

stage.addEventListener(KeyboardEvent.KEY_UP, configuracion);

function configuracion(e:KeyboardEvent):void
{

if (e.keyCode == Keyboard.UP)
{stop();
MovieClip(parent).play();}

con lo cual, la escena se detiene y pasa a la siguiente sin dar problemas de sonido o aceleración. Pero claro, me salen los siguientes errores:

TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at cap1_fla::escena01_27/configuracion()
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at cap1_fla::escena02_55/configuracion()

¿Alguna solución?

Por el_arcano

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Nov 2012 09:06 pm
ok, le he hecho el siguiente arreglo:

if (e.keyCode == Keyboard.UP)
{stop();
stage.removeEventListener(KeyboardEvent.KEY_UP, configuracion);
MovieClip(parent).play();}

y parece ser que va bien. Aún así, ¿alguna sugerencia para optimizar el codigo o algún metodo mejor?

Por el_arcano

33 de clabLevel



 

firefox

 

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