Te lo agradezco mucho xleon, pero sobrepasa mis conocimientos de As, intentare 
buscar alguna otra manera más sencilla que pueda comprender.
 
Gracias.> From: [EMAIL PROTECTED]> To: asnativos@5dms.com> Date: Mon, 26 Nov 
2007 19:59:07 +0100> Subject: Re: [ASNativos] efecto de carga de secciones> > Y 
hablando de este tema, me gustaria saber otras opiniones sobre cómo hacer> esto 
de la mejor manera, ya que esta es una forma que aprendí a base de> palos y 
nunca he visto ejemplos prácticos buenos para construir la> navegación 
principal de una web (estamos hablando de oop claro).> > Un saludo> > > 
-----Mensaje original-----> > De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
En> > nombre de xleon> > Enviado el: lunes, 26 de noviembre de 2007 19:49> > 
Para: 'Lista dedicada a Actionscript'> > Asunto: Re: [ASNativos] efecto de 
carga de secciones> > > > Por cierto, los eventos "onTransicion" y 
"onFinTransicion" me han sido muy> > útiles para varias cosas, entre ellas, 
inutilizar un menú principal> mientras> > se está entrando o saliendo de una 
sección.> > > > > -----Mensaje original-----> > > De: [EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED] En> > > nombre de xleon> > > Enviado el: lunes, 26 de 
noviembre de 2007 19:41> > > Para: 'Lista dedicada a Actionscript'> > > Asunto: 
Re: [ASNativos] efecto de carga de secciones> > >> > > Te lo podría explicar 
con mas detalle pero con el código creo que lo> verás> > > sencillito:> > > Te 
pongo mi clase "Semáforo" y luego la clase "Pantalla" (lo mismo que> una> > > 
sección), que es genérica. Normalmente no hace gran cosa. La utilizo> para> > > 
extender de ella, pero por lo menos tiene implementados los métodos de> > > 
mostrar() y ocultar(). ¿por qué tiene implementado un sistema de eventos> > al> 
> > mostrar y ocultar? Pues eso me sirve para poder hacer animaciones con> > > 
twinings, etc de cada sección y una vez terminado avisamos al semáforo> de> > > 
que esto ha ocurrido...> > >> > >> > > /**> > > * Esta clase controla la 
aparición y desaparición de pantallas o> > secciones.> > > Vínculando estas de 
manera que solo se puede mostrar una al mismo tiempo> > > * Si se le ordena 
mostrar una pantalla, primero ocultará la que se> > mostraba> > > anteriormente 
esperando su evento "onOcultado", y luego mostrará la> nueva> > > *> > > * 
@author Diego Ponce de León> > > * @version 0.1> > > */> > > import 
net.xleon.utils.Delegate;> > > import com.gskinner.events.GDispatcher;> > >> > 
> class net.xleon.ui.logica.Semaforo {> > >> > > private var dispatchEvent : 
Function;> > > public var addEventListener : Function;> > > public var 
removeEventListener : Function;> > > public var removeAllEventListeners : 
Function;> > >> > > private var pantallas:Array;> > >> > > public function 
Semaforo(_pantallas:Array) {> > > GDispatcher.initialize(this);> > > pantallas 
= new Array();> > > if(_pantallas){> > > for(var i:Number=0; 
i<_pantallas.length; i++){> > > if(add_pantalla(_pantallas[i]) == false )> > > 
trace("Semaforo: no se puede agregar la pantalla> > > 
"+_pantallas[i].toString()+" mas de una vez");> > > }> > > }> > > }> > > public 
function add_pantalla(_pantalla:Object):Boolean{> > > var 
pantalla_agregada:Boolean = true;> > > for(var i:Number=0; i<pantallas.length; 
i++){> > > if(pantallas[i] == _pantalla) pantalla_agregada => > > false;> > > 
}> > > if(pantalla_agregada) pantallas.push(_pantalla);> > > return 
pantalla_agregada;> > > }> > > public function tracear_pantallas():Void{> > > 
trace("===== Pantallas de la aplicación ===============");> > > for(var 
i:Number=0; i < pantallas.length; i++){> > > trace(pantallas[i].toString()+" => 
mostrandose => > > "+pantallas[i].mostrandose_ahora);> > > }> > > trace("===== 
Fin de Pantallas ===============");> > > }> > > public function 
mostrar_pantalla(_pantalla:Object):Void{> > > //trace("mostrando pantalla");> > 
> dispatchEvent({type:"onTransicion"});> > > if(get_mostrandose_ahora()!= 
null){> > > get_mostrandose_ahora().removeAllEventListeners();> > > 
_pantalla.addEventListener("onMostrado",> > > Delegate.create(this, 
this.finTransicion));> > >> > > 
get_mostrandose_ahora().addEventListener("onOcultado",> > > 
Delegate.create(_pantalla, _pantalla.mostrar) );> > > 
get_mostrandose_ahora().ocultar();> > > }> > > else {> > > 
_pantalla.addEventListener("onMostrado",> > > Delegate.create(this, 
this.finTransicion));> > > _pantalla.mostrar();> > > }> > > }> > > private 
function finTransicion():Void{> > > dispatchEvent({type:"onFinTransicion"});> > 
> }> > > public function ocultar_actual():Void{> > > 
get_mostrandose_ahora().removeAllEventListeners();> > > 
get_mostrandose_ahora().ocultar();> > > }> > > public function 
get_mostrandose_ahora():Object{> > > for(var i:Number=0; i<pantallas.length; 
i++){> > > if(pantallas[i].mostrandose_ahora==true) {> > > return 
pantallas[i];> > > }> > > }> > > return null;> > > }> > > public function 
getPantallas():Array{> > > return pantallas;> > > }> > > public function 
toString():String{> > > return "Semaforo";> > > }> > > }> > >> > >> > >> > >> > 
> /**> > > * Clase con las funciones básicas de una pantalla.> > > * Crear 
vista, mostrar, ocultar> > > * @author Diego Ponce de León> > > * @version 0.1> 
> > */> > > import com.gskinner.events.GDispatcher;> > > //import 
net.xleon.utils.Delegate;> > >> > > class control.pantallas.Pantalla {> > > 
private var dispatchEvent : Function;> > > public var addEventListener : 
Function;> > > public var removeEventListener : Function;> > > public var 
removeAllEventListeners : Function;> > >> > > private var scope:MovieClip;> > > 
public var vista:MovieClip; // es una instancia en el escenario de> > > 
ui.pantallas.Configuracion, aunque diga MovieClip, sirve igual> > > public var 
vinculacion:String; // nombre de vinculación en la> > > libreria, de la ui que 
será manejada por esta pantalla> > > public var mostrandose_ahora:Boolean = 
false;> > > private var se_habia_mostrado:Boolean = false;> > > /*> > > * 
@scope: el ámbito donde vamos a atachar la pantalla> > > * @vinculacion: el 
nombre de clip vinculado en la libreria> > > perteneciente a esta pantalla> > > 
*/> > > public function Pantalla(_scope:MovieClip, _vinculacion:String) {> > > 
GDispatcher.initialize(this);> > > scope = _scope;> > > vinculacion = 
_vinculacion;> > > set_ui();> > > }> > > /* Coloca solo una vez la ui en el 
scope */> > > private function set_ui():Void{> > > vista = 
scope.attachMovie(vinculacion, vinculacion,> > > 
scope.getNextHighestDepth(),{_visible:false});> > > }> > > public function 
mostrar(terminado:Boolean):Void{> > > if(terminado) {> > > mostrandose_ahora = 
true;> > > se_habia_mostrado = true;> > > dispatchEvent({type:"onMostrado"});> 
> > //trace("mostrada: "+toString())> > > return;> > > }> > > vista._visible = 
true;> > > // Animaciones para mostrar y luego:> > > mostrar(true); // 
logicamente esto habrá que llamarlo desde> > > otro método o por ejemplo un 
callback de un twining> > > }> > > public function 
ocultar(terminado:Boolean):Void{> > > if(terminado){> > > vista._visible = 
false;> > > mostrandose_ahora = false;> > > 
dispatchEvent({type:"onOcultado"});> > > //trace("ocultada: "+toString())> > > 
return;> > > }> > > // Animaciones para ocultar y luego:> > > ocultar(true); // 
logicamente esto habrá que llamarlo desde> > > otro método o por ejemplo un 
callback de un twining> > > }> > > public function toString():String{> > > 
return "control.pantallas.Pantalla";> > > }> > > }> > >> > >> > >> > > > 
-----Mensaje original-----> > > > De: [EMAIL PROTECTED] [mailto:[EMAIL 
PROTECTED] En> > > > nombre de sergio arranz> > > > Enviado el: domingo, 25 de 
noviembre de 2007 23:37> > > > Para: Lista dedicada a Actionscript> > > > 
Asunto: Re: [ASNativos] efecto de carga de secciones> > > >> > > >> > > > 
Buenas, lo que tengo es parecido a lo que dice xleon, tengo las> > secciones> > 
> en la> > > > biblioteca y las cargo con un con un for, todo eso me va bien, 
pero no> > > entiendo bien lo> > > > de la clase semaforo que me indicas, estoy 
un poco pez todavia en el> > tema> > > de las> > > > clases, como bien dices lo 
veo un poco lioso. > From:> [EMAIL PROTECTED]>> > > To:> > > > 
asnativos@5dms.com> Date: Sun, 25 Nov 2007 23:12:00 +0100> Subject:> Re:> > > > 
[ASNativos] efecto de carga de secciones> > Yo hace mucho lo hacia> así.> > > 
Pero un dia> > > > descubrí que es mucho más facil> incluir todas las secciones 
en la> > > biblioteca en clips.> > > > Cada sección tiene> los contenidos 
principales, excepto cosas que> pesen> > > mucho, que> > > > precargo al> 
entrar en la sección. > Luego tengo una clase "semáforo"> > que> > > controla 
la> > > > aparición y desaparición de> todas las secciones. Cada sección> 
extiende> > de> > > una clase> > > > "Sección" que cumple> las funciones 
básicas. La función "mostrar()"> > anima> > > la sección> > > > y la> precarga. 
Cuando esta fase termina manda un evento que es> recogido> > > por la>> > > > 
clase "semáforo" avisando de que ya está cargada y mostrandose. > La> > clase> 
> > principal> > > > de la aplicación instancia cada una de las secciones nada> 
más> > inicializar> > > y las oculta,> > > > dejándolas preparadas para 
mostrarse u> ocultarse más adelante.>> Parece> > un> > > lío> > > > todo esto 
pero es la forma más sencilla que he encontrado a lo> largo> de> > > muchos> > 
> > quebraderos de cabeza.> > > -----Mensaje original-----> > De:> asnativos-> 
> > > [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En> > nombre de> > > Fede> > 
> > Rivas> > Enviado el: domingo, 25 de noviembre de 2007 19:54> > Para:> > 
Lista> > > > dedicada a Actionscript> > Asunto: Re: [ASNativos] efecto de carga 
de> > > secciones> >> > > > > > Buenasss. Pues bien, depende un poco de como 
tengas montadas las>> >> > > cosas.> > > > Yo es un efecto que suelo usar, y lo 
hago de la siguiente forma :> > >> >> > > Uso el tipico> > > > swf como "base", 
en el cual tengo el clip vacío donde> > voy a ir> > cargando> > > todas las> > 
> > secciones. Esto lo controla el preloader> > de turno, que en mi caso> son> 
> > un par de> > > > clases y un clip. Solo uso un> > preloader, el cual se 
encarga de> todo,> > y> > > es el que> > > > controla la carga /> > descarga. 
Cuando cargo un swf nuevo, el propio> > > preloader,> > > > hace> > desaparecer 
el anterior. Aqui tienes dos opciones, una hacer> > una>> > > >> > > > 
"desaparicion rapida", en plan facil, le metes un tween al alpha> >> > > 
mismamente, o> > > > bien hacerte una "desaparcion ordenada" donde los> > 
elementos se> > marchan> > > > ordenadamente, segun te interese.> > > > Si 
eliges la opcion dificil,> la> > > animacion es> > > > "a mano" y yo tengo por> 
> norma que dure muy pocos frames ( unos 50> en> > > una peli> > > > de 30fps 
),> > suelo colocar un frame etiquetado, para dar un> > gotoAndPlay> > > 
directo>> > > > > ahi. De esta forma ( durando pocos frames ), hay una ventaja> 
>> > > indirecta. Cuando> > > > llamas al loader para cargar la peli nueva, 
haces> > justamente la> > > descarga, y por> > > > poco que pese la nueva 
seccion, tardara> > unos segundos en aparecer> > para> > > "pisar"> > > > la 
antigua, tiempo mas que> > suficiente para que la animacion de> salida> > > 
terminara.> > > > Por el> > contrario, si la salida es muy lenta, pasa que el 
loader> pisa> > al> > > swf> >> > > > antiguo con el nuevo, sin haber terminado 
la desaparicion, pudiendo> >> > > apreciar> > > > claramente el "corte". Es 
viable, pero mucho mas follonero,> > tener> que> > > notificar al> > > > loader 
del termino de la descarga, para iniciar> > la otra carga.> > >> >> > > Bueno, 
solo> > > > es una idea de planteamiento, pero asi la suelo hacer.> > > > Si> 
tienes> > un> > > problema> > > > ya mas concreto con algo, nos comentas. :)> > 
> > Salu2!> > > > Fede.>> >> > >> > > > El> > > > 25/11/2007, a las 14:20, 
sergio arranz escribió:> > > > >> > > Buenos> > días> > > lista, os> > > > 
quería comentar si me podríais indicar un poco> > > como hacer un> efecto> > > 
al cargar> > > > las secciones de una web. El efecto> > > es tipico pero no se 
como> > > hacerlo: cuando> > > > cargas una sección te> > > aparecen los 
elementos de esa sección, pero> > > cuando> > > > cargas o pinchas> > > en otro 
boton para que se abra otra sección los> > > elementos de> > > > la> > > 
sección anterior desaparecen con un efecto de movimiento u> otro,> > > y> > >> 
> > > una vez desaparecidos los elementos de la sección anterior aparecen> >> 
>> > > los de la> > > > nueva sección. Si me podríais indicar como se puede 
hacer,> > > o si> hay> > > algún> > > > enlace para saber como hacerlo paso por 
paso os lo> > > agradecería.>> >> > >>> > > > >>> > > > > > Saludos.> > >> > > 
>> > _________________________________________________________________>> > > >> 
> > > > Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines> >> >> 
> > para estar> > > > a la última> > >> >> > > >> > >> > 
http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenan> > > 
> > > ce&Brand=WL&RU=http%3a%2f%2fmail.live.com> > >> > > 
---------------------------> > > > --------------------------> > > ASNativos> > 
> www.5dms.com> > >> > > > subscripciones/desubscripciones> > > 
http://asnativos.5dms.com> > >> > > --------------> > > > 
---------------------------------------> > >> > > > > >> > > 
-----------------------------------> > > > ------------------> > ASNativos> > 
www.5dms.com> >> > > > subscripciones/desubscripciones> > 
http://asnativos.5dms.com> >> > > --------------------> > > > 
---------------------------------> > > > No virus found in this> incoming> > > 
message.> >> > > > Checked by AVG Free Edition.> > Version: 7.5.503 / Virus 
Database:> > > 269.16.6/1150 -> > > > Release Date:> 24/11/2007 17:58> > > > No 
virus found in this outgoing> > > message.>> > > > Checked by AVG Free Edition. 
> Version: 7.5.503 / Virus Database:> > > 269.16.6/1150 -> > > > Release Date: 
24/11/2007> 17:58> > > > >> > > --------------------------------------------> > 
> > ---------> ASNativos> www.5dms.com> subscripciones/desubscripciones>> > > > 
http://asnativos.5dms.com>> > > 
-----------------------------------------------------> > > > 
_________________________________________________________________> > > > 
Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para> > > 
estar a la> > > > última> > > >> > >> > 
http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenan> > > 
> ce&Brand=WL&RU=http%3a%2f%2fmail.live.com> > > > 
-----------------------------------------------------> > > > ASNativos> > > > 
www.5dms.com> > > > subscripciones/desubscripciones> > > > 
http://asnativos.5dms.com> > > > 
-----------------------------------------------------> > > >> > > > No virus 
found in this incoming message.> > > > Checked by AVG Free Edition.> > > > 
Version: 7.5.503 / Virus Database: 269.16.7/1151 - Release Date:> > > 
25/11/2007 16:24> > > >> > >> > > No virus found in this outgoing message.> > > 
Checked by AVG Free Edition.> > > Version: 7.5.503 / Virus Database: 
269.16.7/1151 - Release Date:> > 25/11/2007> > > 16:24> > >> > >> > >> > >> > > 
-----------------------------------------------------> > > ASNativos> > > 
www.5dms.com> > > subscripciones/desubscripciones> > > 
http://asnativos.5dms.com> > > 
-----------------------------------------------------> > >> > > No virus found 
in this incoming message.> > > Checked by AVG Free Edition.> > > Version: 
7.5.503 / Virus Database: 269.16.7/1151 - Release Date:> > 25/11/2007 16:24> > 
>> > > > No virus found in this outgoing message.> > Checked by AVG Free 
Edition.> > Version: 7.5.503 / Virus Database: 269.16.7/1151 - Release Date:> 
25/11/2007> > 16:24> > > > > > > > > > 
-----------------------------------------------------> > ASNativos> > 
www.5dms.com> > subscripciones/desubscripciones> > http://asnativos.5dms.com> > 
-----------------------------------------------------> > > > No virus found in 
this incoming message.> > Checked by AVG Free Edition.> > Version: 7.5.503 / 
Virus Database: 269.16.7/1151 - Release Date:> 25/11/2007 16:24> > > > No virus 
found in this outgoing message.> Checked by AVG Free Edition. > Version: 
7.5.503 / Virus Database: 269.16.7/1151 - Release Date: 25/11/2007> 16:24> > > 
> > -----------------------------------------------------> ASNativos> 
www.5dms.com> subscripciones/desubscripciones> http://asnativos.5dms.com> 
-----------------------------------------------------
_________________________________________________________________
Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para estar a 
la última
http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------

Responder a