Comunidad de diseño web y desarrollo en internet online

ir a un fotograma desde una clase

Citar            
MensajeEscrito el 11 Ene 2012 04:48 pm
Hola,

Estoy haciendo una aplicación muy pequeña y me he encontrado con un problemilla.

Tengo una clase, donde carga un audio externo y quiero que al terminar de reproducir el audio vaya al fotograma 2 en la línea de tiempo. El problema es que la clase no extiende un movieclip sino un spry, por eso no puedo usar MovieClip(parent).gotoAndStop(2);

sí me dice cuando el audio ha terminado, pero no sé cómo decirle que vaya a x fotograma:


channel.addEventListener(Event.SOUND_COMPLETE, aStart);
}
public function aStart(Event):void
{
trace ("terminado");
}

Por mario11

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Ene 2012 09:40 pm
Hola man, para poder usar "MovieClip(parent).gotoAndStop(2);" tenes que importar la clase MovieClip y ya:

Código ActionScript :

import flash.display.MovieClip;
...



Saludos


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

chrome
Citar            
MensajeEscrito el 11 Ene 2012 11:01 pm
Gracias eXe por tu respuesta.

La he probado, pero me da un error:

Mi código:

Código ActionScript :

//Importo la clase MovieClip
 import flash.display.MovieClip;

//Luego al final:
 channel.addEventListener(Event.SOUND_COMPLETE, aStart);
      }
     public function aStart(Event):void
     {
      MovieClip(parent).gotoAndStop(2);
   }


y compila bien, pero no ejecuta la función y me da el siguiente error en el panel de salida:


escribió:

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

Por mario11

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Ene 2012 01:54 pm
hasta que la instancia de tu clase no sea agregada en el escenario o en un contenedor parent no estara definido.


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 12 Ene 2012 04:33 pm
pero esta clase no generará ninguna instancia porque extiende a un sprite no a un MovieClip.

Por mario11

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Ene 2012 04:52 pm
sprite y movieclip son clases cuyas instancias pueden ser agregadas en el escenario o cualquier contenedor visual.

la propiedad parent en principio es null, se define recien cuando la instancia es agregada en algún contenedor visual (ej: escenario, movieclip,, sprite) a través del metodo addChild y almacena una referencia al contenedor de la instancia.

ejemplo:

Código ActionScript :

var miInstancia:MiClase = new MiClase(); // MiClase extiende a Sprite. 
trace(MovieClip(miInstancia.parent)); //Muestra null
addChild(miInstancia);
trace(MovieClip(miInstancia.parent)); //Muestra cotenedor

Si vos querés controlar un objeto tenes que tener referencia de el.

Tu instancia por lo visto no la agregas a ningún contenedor


Espero haber sido claro


Saludos


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 13 Ene 2012 11:07 am
GENIAL!!! HA FUNCIONADO!!!! qué grande sos eXe!!!!!

gracias, lo de agregar una instancia de la clase sprite no lo sabía!

muchas gracias!!!

Por mario11

3 de clabLevel



 

chrome

 

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