Comunidad de diseño web y desarrollo en internet online

Profundidad en AS3

Citar            
MensajeEscrito el 12 Mar 2012 01:19 am
Hola... Soy MUY nuevo usando AS3 y no tengo la más mínima idea como hacer esto:

Tengo 3 botones: uno verde, uno azul y otro rojo.



El boton rojo está encima del azul y el verde, así mismo, el azúl está encima del verde.
quisiera saber cómo hago para que al dar click en cada botón, cambie la profundidad y quede de primero. Es decir: Si doy click en el boton verde, que este me aparezca puesto sobre el rojo y el azul.

Les tengo nombre de instancia b1, b2 y b3 al botón rojo, azúl y verde respectivamente.

Espero puedan ayudarme. Muchas gracias.

Por dmperez777

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Mar 2012 01:30 am
hola, te recomiendo algo para aprender, si sos bastante autodidacta, y tenes acceso al flash cs5, este tiene una ventana llamada code snippets que son codigos ya hechos que vienen con el programa, y hay un codigo que es para lo que vos queres, si sos autodidacta, te seria mas facil aplicar el codigo, y ir aprendiendo para que sirve cada parte. saludos.

Por skaterseba

Claber

170 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Mar 2012 07:34 am
puebra con esto

Código ActionScript :

import flash.events.MouseEvent;

//Boton1, Boton2, Boton3 los nombres de tus botones
Boton1.addEventListener (MouseEvent.CLICK, BotonPulsado);
Boton2.addEventListener (MouseEvent.CLICK, BotonPulsado);
Boton3.addEventListener (MouseEvent.CLICK, BotonPulsado);

function BotonPulsado (e: MouseEvent): void
{
   this.setChildIndex( e.target, this.numChildren-1);
}

para mas informacion MovieClip

saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Mar 2012 07:03 pm
Boton1.addEventListener (MouseEvent.CLICK, BotonPulsado);
Boton2.addEventListener (MouseEvent.CLICK, BotonPulsado);
Boton3.addEventListener (MouseEvent.CLICK, BotonPulsado);

function BotonPulsado (e: MouseEvent): void
{
this.addChild(e.currentTarget as DisplayObject);
}

con eso el boton que hiciste click quedara arriba de todo.

Por nauj_x

15 de clabLevel



Genero:Masculino  

desarrollador de juegos

chrome
Citar            
MensajeEscrito el 13 Mar 2012 05:34 am
no es lo mismo cambiar el orden de los clips

Código ActionScript :

this.setChildIndex( e.target, this.numChildren-1);

que reasignar el contenedor del clip

Código ActionScript :

this.addChild(e.currentTarget as DisplayObject); 

aunque el efecto sea el mismo

saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Mar 2012 11:29 am

Yonomimi escribió:

no es lo mismo cambiar el orden de los clips

Código ActionScript :

this.setChildIndex( e.target, this.numChildren-1);

que reasignar el contenedor del clip

Código ActionScript :

this.addChild(e.currentTarget as DisplayObject); 

aunque el efecto sea el mismo

saludos


Hola, intenté con la primera respuesta y no me funcionó no se porque.. y su segunda respuesta no la entiendo casi.. ¿a que se refiere con reasignar el contenedor del clip?

Por dmperez777

10 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Mar 2012 11:54 am
te da un error de compilacion? entonces...

Código ActionScript :

import flash.events.MouseEvent;

//Boton1, Boton2, Boton3 los nombres de tus botones
Boton1.addEventListener (MouseEvent.CLICK, BotonPulsado);
Boton2.addEventListener (MouseEvent.CLICK, BotonPulsado);
Boton3.addEventListener (MouseEvent.CLICK, BotonPulsado);

function BotonPulsado (e: MouseEvent): void
{
   this.setChildIndex( MovieClip(e.target), this.numChildren-1);
}

asi debe de funcionar

y con respecto a la otra respuesta...es por que cada clip tiene un contenedor...y solo puede existir en uno...por lo tanto ... si vuelvo hacer un addChild(boton) aunque se haga en el mismo contenedor te lo pone arriba del todo de la profundidad

saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 13 Mar 2012 12:19 pm

Yonomimi escribió:

te da un error de compilacion? entonces...

Código ActionScript :

import flash.events.MouseEvent;

//Boton1, Boton2, Boton3 los nombres de tus botones
Boton1.addEventListener (MouseEvent.CLICK, BotonPulsado);
Boton2.addEventListener (MouseEvent.CLICK, BotonPulsado);
Boton3.addEventListener (MouseEvent.CLICK, BotonPulsado);

function BotonPulsado (e: MouseEvent): void
{
   this.setChildIndex( MovieClip(e.target), this.numChildren-1);
}

asi debe de funcionar

y con respecto a la otra respuesta...es por que cada clip tiene un contenedor...y solo puede existir en uno...por lo tanto ... si vuelvo hacer un addChild(boton) aunque se haga en el mismo contenedor te lo pone arriba del todo de la profundidad

saludos


Gracias por las respuestas. Voy a intentarlo nuevamente.

Por dmperez777

10 de clabLevel



 

chrome

 

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