Comunidad de diseño web y desarrollo en internet online

subir de nivel un clip

Citar            
MensajeEscrito el 08 Ene 2010 11:00 am
Buenas!!

Estoy siguiendo un tutorial vuestro que habla de metodos y propiedades de los contenedores.
En el lei sobre addChil la propiedad de mover de nivel un objeto this.setChildIndex(this.getChildAt(2), 0);
Me parecio interesante para una web.
Siguiendo el tut. pude realizar lo que me indica.
Pero mi idea es subir al nivel mas alto el clip sobre el cual haga click con el mouse.
Para hacer la prueba cree 5 clip (c1,c2,c3,c4,c5) y aplicando this.setChildIndex(this.getChildAt(4), 0); van rotando(que no es la idea), pero tanpoco logre que funcione solo en el clip que desee.
Cambie this. por los nombres de los clips pero no esta bien por lo que parece.

Cualquier ayuda me vendra bien. Gracias desde ya.

Acciones en el 1º ftg del .fla

var c1:MovieClip= new MovieClip();
var c2:MovieClip= new MovieClip();
var c3:MovieClip= new MovieClip();
var c4:MovieClip= new MovieClip();
var c5:MovieClip= new MovieClip();
var miContclip:Sprite= new Sprite();
this.addChild(miContclip);
miContclip.addChild(c1);
miContclip.addChild(c2);
miContclip.addChild(c3);
miContclip.addChild(c4);
miContclip.addChild(c5);

function subir(event:MouseEvent):void{
this.setChildIndex(this.getChildAt(4), 0);
}
this.addEventListener(MouseEvent.CLICK, subir);

Por zumimoraes

83 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 09 Ene 2010 01:09 am
El listener se lo tienes que agregar a cada MovieClip, por ejemplo:

Código ActionScript :

c1.addEventListener(MouseEvent.CLICK, subir)
c2.addEventListener(MouseEvent.CLICK, subir)
(...)
c5.addEventListener(MouseEvent.CLICK, subir)
function subir(evt:MouseEvent):void{
   this.setChildIndex(evt.target, 0); 
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Ene 2010 10:22 am
Gracias por la respuesta Jorge.

Lo probe dentro del Clip y me da esto.

1118: Conversión implícita de un valor con tipo estático Object a un tipo flash.display:DisplayObject posiblemente no relacionado.
1120: Acceso a una propiedad c1 no definida.

Lo que yo ya tengo hecho son unos clip que se pueden arrastrar con el mouse. Ahora solo necesito que al pinchar sobre el suba al nivel mas alto para verlo.
Gracias por la ayuda.

Por zumimoraes

83 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 09 Ene 2010 01:16 pm
No se donde estarás poniendo los addEventListener, pero si lo defines así

var c1:MovieClip= new MovieClip();

y luego agregas

c1.addEventListener(MouseEvent.CLICK, subir)

No puede darte ese error

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Ene 2010 01:56 pm
Así lo tengo puesto en el ftg 1 dentro del MC c1
codigo:

var c1:MovieClip= new MovieClip();

function subir(evt:MouseEvent):void {
this.setChildIndex(evt.target, 4);
}
c1.addEventListener(MouseEvent.CLICK, subir) ;

Y me dice esto:
1118: Conversión implícita de un valor con tipo estático Object a un tipo flash.display:DisplayObject posiblemente no relacionado.

Debo de cambiar algo en function subir ?
probe algunas cosas pero.....
Gracias

Por zumimoraes

83 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 11 Ene 2010 02:12 pm
Cambia en la función subir:

Código ActionScript :

this.setChildIndex(MovieClip(evt.target), 4);


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Ene 2010 04:43 pm
a mi me funcionó con

Código ActionScript :

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

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 11 Ene 2010 08:35 pm
Bueno al fin..!!
El clip funciona con este codigo en el 1º ftg en el escenario

codigo:

function subir(evt:MouseEvent):void{
this.setChildIndex(MovieClip(evt.target), 4);
}
c1.addEventListener(MouseEvent.CLICK, subir);
c2.addEventListener(MouseEvent.CLICK, subir);
c3.addEventListener(MouseEvent.CLICK, subir);
c4.addEventListener(MouseEvent.CLICK, subir);
c5.addEventListener(MouseEvent.CLICK, subir);

lo logre en la prueba, ahora le agregare en el archivo de la web
Muchisimas gracias!!

Por zumimoraes

83 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 14 Ene 2010 02:32 am
si lo q querés es subir al nivel superior lo más facil para mi es darle directamente addChild(mc) y lo q hace es sacarlo de la posición y ponerlo arriba de todo... osea
for (var i:uint = 0; i <= 5; i++) {
var mc: MovieClip = new MovieClip();
mc.addEventListener(MouseEvent.CLICK, subir);

}
function subir(evt:Event) {
addChild(MovieClip(evt.target));
}

y si lo queres mejor podes poner los mc en un contenedor y darle solo el evento al contenedor para tener 1 solo evento y ahorrar memoria (al contenedor pones conMc.mouseChildren = true; para q expanda el evento a los mc hijos)

saludos!

Por Pablokorku

60 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ene 2010 02:58 pm
Muchas gracias por la respuesta Pablo.

Aunque ya me funciona, voy a probar lo que me aconsejastes. No sobra seguir aprendiendo.
Me interesa lo de agregar el evento al contenedor, en ese caso ahorraria memoria y la preocupacion de
seguir sumando eventos si incorporo mc.
Vere que tal me va.

Saludos!!

Por zumimoraes

83 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 18 Ene 2010 12:53 am
bueno intentalo y cualquier cosa te paso un help! de hecho lo probé y anda perfecto, además lo bueno es q si vos querés mover de lugar todo los mcs con mover el contenedor ya está...
Un saludo!

Por Pablokorku

60 de clabLevel



 

firefox

 

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