Comunidad de diseño web y desarrollo en internet online

Sistema de ventanas en as3

Citar            
MensajeEscrito el 23 Oct 2008 04:50 pm
hola, estoy haciendo un sistema de ventanas (como de windows o de mac, o de cualquier SO) pero intento usar este script:

Código :

parent.setChildIndex(parent.getChildAt(3), 0);

pero tiene un mal funcionamiento para mi, lo que necesito principalmente es que yo pueda arrastrar mis ventanas, pero al hacerlo, que las traiga al frente. gracias!

Por JK994

65 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 23 Oct 2008 04:56 pm
Deb erías tener un listener o controlador externo que maneje el nivel de las ventanas, no hacerlo desde dentro (te da error runtime)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Oct 2008 08:45 pm
no me da un error, lo q me pasa es que por ejemplo, hay veces que solo sube un nivel, y que si la vuelvo a arrastrar, vuelve a bajar de nivel, me podrias explicar mejor como es eso de los controladores externos? gracias

Por JK994

65 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 23 Oct 2008 10:22 pm
Al arrastrarla la primera vez está en 3 y cambia a cero. La siguiente vez que lo arrastras, está en cero, así que trae al frente la que no es. Prueba usando getChildByName que no cambia con el stack order

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Oct 2008 08:34 pm
me podrias dar un ejemplo de como funcionaria con getChildByName ? gracias

Por JK994

65 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 24 Oct 2008 08:35 pm
Sería

parent.setChildIndex(parent.getChildByName("miventana"), 0);

Tienes que darle un nombre de instancia a tus ventanas (propiedad name)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Oct 2008 10:21 pm
aver si entiendo bien; el numero 0 significa que va a estar arriba, y "miventana" es la instancia de la ventana?

entonces el codigo me podria quedar asi:


import flash.events.MouseEvent

dragwin.addEventListener(MouseEvent.MOUSE_DOWN, mousedown);

function mousedown(event:MouseEvent):void {
startDrag();
parent.setChildIndex(parent.getChildByName("calc"), 0);
}

o no?

gracias!

Por JK994

65 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 24 Oct 2008 10:41 pm
Prueba

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Oct 2008 10:54 pm
lo intente pero al iniciar el drag, la ventana desaparece :(

Por JK994

65 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 25 Oct 2008 12:45 pm
Si lo que quieres es traer al frente, no uses 0 sino parent.numChildren - 1

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 Oct 2008 01:32 pm
lo intente con una ventana, y si, se sube al primer nivel, pero si copio el codigo, y lo pego en las demas ventanas, cambiando la instancia que van a mover, ya no funciona :(

Por JK994

65 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 25 Oct 2008 04:41 pm
Pues tienes el comienzo, ahora tienes que usar una variable que guarde el noimbre de la ventana seleccionada, algo así


parent.setChildIndex(parent.getChildByName(parent.elegida), 0);
parent.elegida = this.name


La variable elegida guarda el nombre de la ventana que ha sido pinchada. Dale por defecto el velor de la ventana que esté mas al frente:

var elegida:String = "algnunaventana"

Dale vueltas a la idea

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 Oct 2008 09:55 am
Aquí hay un modo de cómo controlar mediante eventos unas ventanas.
Sí es cierto que tiene puesto

Código ActionScript :

parent.addChild(win);

para llevarlas adelante. Yo creo que es mejor tener una variable en tu película

Código ActionScript :

var num_ventanas:int=0;
//cada vez que hacemos un new
var ventana=new Ventana()
//incrementamos la variable
num_ventanas++

Así, deberíamos poder poner, en el onWinDown,

Código ActionScript :

parent.setChildIndex(this,(parent.num_ventanas-1));

NOTA:No sé si falta alguna conversión de cast

Por Eliseo2

710 de clabLevel



 

firefox

 

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