Comunidad de diseño web y desarrollo en internet online

organizar la descarga o carga as3

Citar            
MensajeEscrito el 14 Ago 2009 12:30 pm
Hola, hace ya un tiempo que trabajo con el flash, antiguamente en as2 solia cargar los contenidos de las paginas mediante swf independientes que me permitian dividir el contenido del sitio y asi no generar largas esperas con un preload eterno, pero ahora hace ya 6 meses que trabajo con as3 y la verdad es que el trabajar con clases me marea bastante, sobre todo para instanciar la carga de los contenidos.

Por ejemplo, hago una pagina con una galeria de imagenes que trabaja con archivos as3, pero cuyo movieClip que la contiene esta en la bilioteca y exportado para actioncript bajo el nombre x
mi problema es que no logro poder importar la galeria en otro momento que no sea la carga inicia, cuando lo que yo quiero es que toda la galeria con sus respectivos as3 recien se cargue cuando aprete en la seccion.

Lo que hago es poner el movieClip como visible=False y recien cuando entro a la seccion galeria lo pongo visible.true, pero la verdad es que eso no evita que cuando habra la pagina pierda tiempo cargando la primer imagen de la galeria.

Pense en volver a los swf independientes, ya que se me ocurre era una mejor manera de orgnizar la descarga.
-Esto es correcto?
-Que alternativas tengo para cargar mi galeria y sus as3 solo cuando asi lo requiera y no al principio de la pelicula madre?
-Puedo por ejemplo poniendo un codigo en el movieClip contenedor de la galeria importar recien ahi todo?
-Como puedo encontrar referencia en la web sobre el tema.

Gracias!!!

Por wendel68

6 de clabLevel



 

msie7
Citar            
MensajeEscrito el 14 Ago 2009 02:47 pm
Si algo está en el displayList aunque sea invisible se carga, es decir jugar con la visibilidad es un error a priori para esto.
Si quieres que la clase de tu MovieClip sea exportada a un fotograma distinto del primero, desmarca la casilla Exportar en primer fotograma y lo podes poner manualmente en el escenario en un fotograma por el que pases antes de instanciar tu galería, o vas a Opciones de Publicación, Flash Tab, Actionscript 3, Exportar clases en frame X (pon el frame en que quieres que la clase sea exportada)
Esta técnica es similar a la usada en AS2 para los componentes

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Ago 2009 01:48 am
Gracias Jorge por tu dedicacion, la verdad es que termine por volver a la vieja modalidad utilizando diferentes swf( estoy mas organizado, y considero que asi podre reutilizar el codigo mas facilmente. es decir intercalar en mis fla

ahora el problema que me surge es como comunicarme con el loader cargado.
adjunto el codigo de carga y lo que me gustaria realizar que es que la funcion chau se comunique con el swf= fotos.swf

private function holafotos() {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,onProgress);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
loader.load(new URLRequest("fotos.swf"));
loader.x = 300
loader.y = 150
addChild(loader);

}

private function onProgress(event:ProgressEvent):void
{
var porcentaje:Number = event.bytesLoaded/event.bytesTotal * 100;
}

private function onComplete(evt:Event):void {
var swf:MovieClip = evt.target.content;
//trace (swf)
//swf.chau();

}

private function ioError(error:IOErrorEvent):void
{
trace("Error:" + error);
}

private function chaufotos() {
var cerrar:String = cerrar //no funciona
dispatchEvent(new EventSupExtra(EventSupExtra.ACCION_TERMINADA27, { nombre:cerrar} )); //no funciona
dispatchEvent(new EventExtra(EventExtra.ACCION_TERMINADA28, true)); //no funciona
}


fotos.swf
en la primer linaea de la pelicula


var cerrar:String
var _fotos:MovieClip = new fotos();
var lugares:MovieClip = new MenuFotos;
_fotos.x = 0
_fotos.y = 0;
_fotos.alpha=0;
addChildAt(_fotos,0);
lugares.x = 15;
lugares.y = 20;
lugares.alpha = 0;
addChild(lugares);
contenedor3.x = 310
contenedor3.y = 20
//TweenLite.to(contenedor3, 1, { alpha:1, ease:Cubic.easeOut, delay:3} );
TweenLite.to(_fotos, 1, { alpha:1, ease:Cubic.easeOut, delay:2} );
TweenLite.to(lugares, 1, { alpha:1, ease:Cubic.easeOut, delay:3} );
addEventListener(EventSupExtra.ACCION_TERMINADA27, chau);//no funciona
addEventListener("accionTerminada28", chau);//no funciona


function chau(evento:EventExtra){
trace("ejecuta chaussssssssss")
}

Por wendel68

6 de clabLevel



 

safari
Citar            
MensajeEscrito el 15 Ago 2009 01:33 pm
Si el Loader es lo primero que agregas al displayList, puedes pillar una referencia usando this.getChildAt , por ejemplo:

var ldr:Loader = this.getChildAt(0)
ldr.content.chau()

Lo del evento en la función chau no es necesario

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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