Cita:
Iniciado por darkgaze Pero es así como lo hacéis entonces? Con esto estoy feliz
A ver si los expertos aquí creéis qu esta es la forma MEJOR de hacerlo, soy muy quisquillosa, necesito opiniones:
- Un .fla vacío que sea el papi default pero no tiene nada de nada.
- La biblioteca con las animaciones hechas en flash... exportadas a AS3.. (no se como se hace, pero ya miraré).
- Cosas externas las cargo en AS3, los XML y los videos, etc
- Inicio en Main.as y hago un proyecto pasando del .fla, como si programara normal, referenciando a la escena y al arbol de visualización de flash (display y todo eso), para que se muestre lo que yo quiero. El resto como en Java (en forma, me refiero)
- No tengo la más remota idea de como hacer los estados:
Carga menú principal y submenús. Muestra solo el menú principal.
Cuando le das a un submenú, carga un XML con datos. Debe haber algún sistema para mostrar que está cargando (con el loader y todo eso, ok), pero esto es un estado distinto. Cómo gestionáis vosotros los estados? simplemente utilizando los eventos complete encadenados??
Gracias chicos. A ver si lo llego a entender. Odio hacer las cosas mal desde el principio.
Hola
darkgaze !
En cuanto al cambio de estados de las pantallas, si todo lo vas a hacer en AS si tendrías que hacerlo de la forma que mencionas, lanzar eventos y capturarlos, y en base a eso cambiar los estados.
La forma en que vas a realizarlo está muy bien, muy similar a un proyecto en JAVA.
Por ejemplo, podrías tener una sección galeria:
Código actionscript:
Ver originalpackage
{
import flash.display.MovieClip;
public class Gallery extends MovieClip
{
var reader:XMLImageReader = new XMLImageReader();
reader.addEventListener(XMLImageReaderEvent.COMPLETE, onLoadImages);
reader.load();
}
private function onLoadImages(evt:XMLImageReaderEvent):void
{
var iterator:Iterator = evt.images.getIterator();
while(iterator.hasNext()) {
var image:Image = iterator.next() as Image;
image.addEventListener(ImageEvent.COMPLETE, onLoadImage);
addChild(image)
}
}
private onLoadImage(evt:ImageEvent):void
{
dispatchEvent(new GalleryEvent(GalleryEvent.ON_IMAGE, evt.image));
}
}
Y el punto de entrada:
Código actionscript:
Ver originalpackage
{
import flash.display.MovieClip;
public class Main
{
public static function main(root:MovieClip):void
{
var gallery:Gallery = new Gallery();
root.addChild(gallery);
}
}
}
Y desde el .fla:
Si vienes del mundo de JAVA no creo que se te complique, nada mas descompone el problema en pequeños objetos cohesivos, puedes tener una clase Principal que tenga asociada las secciones, y cada sección tiene asociados otros objetos para cumplir con los requerimientos del proyecto.
Un saludote !