Actionscript3.0, Flash

noviembre 2008

Diferencias entre MovieClip, Sprite y Shape

En Actionscript 3.0 tenemos la posibilidad de trabajar con varios tipos de display objects. Esto es un intento de explicar cuales son las diferencias entre ellos y para qué se pueden utilizar:

MovieClip: La clase MovieClip hereda de la clase Sprite. Es decir: todos los atributos y métodos de Sprite, los tiene MovieClip. Además los MovieClips incluyen linea de tiempo, y las propiedades y métodos asociados. Por ejemplo MovieClip incluye los métodos play(), stop(), gotoAndPlay(), nextFrame(), etc… y las propiedades currentFrame, currentLabel, scenes, totalFrames, etc…

Sprite: como un MovieClip pero sin linea de tiempo. Es decir, un Sprite puede utilizarse como contenedor de objetos, almacenar variables, y recibir eventos. Lo único que no se puede hacer es manipular su linea de tiempo, ya que no tiene.

Shape: como un Sprite pero sin interactividad de ratón ni teclado. Tampoco pueden contener objetos de visualización secundarios. Se suelen utilizar para dibujar dentro de ellos, ya que poseen el atributo graphics.

Andresxx1 says:

Pues si, muy comprensiva tu aclaración gracias :D

MaRiO says:

Excelente explicación, breve y concisa. Gracias

emedmaria says:

Hola,
es muy aclaratorio pero me surge una duda ante algo que necesito hacer…
HAsta ahora con AS2 si quería cargar dinámicamente un MovieClip (obteniendo sus atributos de un XML) de la biblioteca me creaba una clase encargargada de ésto mediante lectura de XML y attachMovie…
Si mi movieClip tenía dos frames en su línea de tiempo en el frame1 ubicaba el gráfico de «out» (estado reposo) y en el frame2 ubicaba el gráfico de «over» (estado over). Así pues, mediante los eventos cuando pasamos el mouse por encima accedemos a la linea de tiempo del Mc (goToAndPlay(«over»). De este modo conseguía que me cambiara el gráfico al cambiar el estado.
¿Como puedo hacer ésto con Sprites?
Todos los ejemplos q he visto al respecto utilizan Sprites pero sin cambio de gráfico al cambiar el estado (puesto que no tiene linea de tiempo)
Lo necesito con urgencia, agradecería muchiiisimo cualquier ayuda al respecto!
Gracias!!!

hector says:

Espero y me explique bien… tengo un problema al querer abri una escena ..

en un archivo de flash .. tengo varias escenas de movieclip (inicio, Empresa, Mision etc..)

dentro de inicio tengo varios sprite y en un sprite puse mis botones de menu (empresa,Mision ETC….. ) … ahora la pregunta q codigo utilizo para abrir mi otra escena que corresponde a empresa o a mision etc dando clic