Comunidad de diseño web y desarrollo en internet online

Ayuda con profundiad.

Citar            
MensajeEscrito el 24 Jun 2008 09:18 pm
Buenas... a ver si alguien me puede ayudar con esto:

Tengo dos clases a las que instancio dentro de una principal

//Fondo Activo
var fa_escena1:FondoActivo ;
fa_escena1 = new FA_escena1();
stage.addChild(fa_escena1);

//Fondo Pasivo
var fp_escena1:FondoPasivo ;
fp_escena1 = new FondoPasivo("pang.jpg");
stage.addChild(fp_escena1.getFondo());

La clase Fondo activo esta asociada con un Movie clip de un cuadrado y por ahora no contiene nada.

package {
import flash.display.Sprite;
import flash.display.MovieClip ;
public class FondoActivo extends MovieClip {

public function FondoActivo():void {


}

}

La clase Fondo pasivo carga una imagen jpg


package {
import flash.display.Sprite;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.MovieClip;

public class FondoPasivo extends MovieClip {

var newContainer:Sprite = new Sprite();

public function FondoPasivo(imagen:String) {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
newContainer.addChild(loader);
addChild(newContainer);
loader.load(new URLRequest(imagen));
}


//Necesario para que redimensione solo cuando la imagen ha sido cargada
function onInit(event:Event):void {
newContainer.x = 5 ;
newContainer.y = 5 ;
newContainer.width = 790 ;
newContainer.height = 430 ;
}

public function getFondo():Sprite {
return newContainer;
}

}
}


Yo quiero que la capa de fondo Activo quede por delante de la capa de fondo Pasivo, el problema
es el siguiente :

Cuando añado primero FP y luego FA( Para que FA se vea por encima de FP), FP acaba apareciendo por encima de FA por el tiempo de carga de la imagen en la clase FP. Que hace que se muestre o redibuje ( no se bien que hace ) cuando la imagen ha sido cargada del todo

Por otra parte si pongo FP por delante de FA, es normal que FP se vea por encima de FA... no me sirve.

Me podeis aportar alguna solucion o ayuda ?

Muchas gracias

Por nothingseg

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Jun 2008 10:16 am
Para cambiar de niveles en AS3 usas:

swapChildren(child1:DisplayObject, child2:DisplayObject)

En tu caso, si son los dos únicos elementos puedes hacer

swapChildren(getChildAt(0), getChildAt(1))

Ahora si quieres que no se vea la imagen que cargas, haz el addChild una vez que ha sido cargada, no enseguida

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 25 Jun 2008 05:27 pm
Ok gracias. Lo probaré.

Un saludo.

Por nothingseg

8 de clabLevel



 

firefox

 

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