Comunidad de diseño web y desarrollo en internet online

Propiedades de Sprite dentro de MC

Citar            
MensajeEscrito el 18 Jun 2008 07:49 am
¡Hola! Tengan un día cotorro. ^^
Tengo un problemita (de nuevo). Quiero mover un Sprite que está dentro de un MC pero no puedo.
Aquí el código:

Código :

//Esto funciona mySprite está en el escenario:
var mySprite:Sprite = new Sprite();
mySprite.addChild(miFoto);
addChild(mySprite);

boton.addEventListener(MouseEvent.CLICK, clicBoton);
function clicBoton(event:MouseEvent):void {
mySprite.x+=50//Mueve correctamente "mySprite" cada que cliqueo "boton"
}

//Esto NO funciona, cuando mySprite está dentro de un MC que está en el escenario
var mySprite:Sprite = new Sprite();
mySprite.addChild(miFoto);
//"movieClip" es un MC que está en el escenario correctamente instanciado (ya lo revisé)
movieClip.addChild(mySprite);
//Hasta aquí se añade correctamente "miFoto" al "movieClip" que contiene a "mySprite"

boton.addEventListener(MouseEvent.CLICK, clicBoton);
function clicBoton(event:MouseEvent):void {
movieClip.mySprite.x+=50
}

//Cuando cliqueo "boton" me regresa esto
//TypeError: Error #1010: Un término no está definido y no tiene propiedades.
//at principal_fla::MainTimeline/clicBoton()

:ninja: ¿Qué hago?, ¿dónde está el error? Quiero atacarlo, matarlo al desgraciado.
NOTA: no me interesa mover al "movieClip", yo quiero mover a "mySprite" que está dentro.

¡Les mando un abrazo del oso y un agradecimiento desde ya! (y)

editado por eldervaz

Por vuh

12 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Jun 2008 10:14 am

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 18 Jun 2008 12:56 pm
mySprite es un puntero al elemento creado. Para referenciarlo tienes que usar getChildAt() o getChildByName. Si es el único elemento dentro de movieClip, lo puedes referenciar así:

Código :

movieClip.getChildAt(0).x+=50


Si le dieras un nombre de instancia, por ejemplo

Código :

mySprite.name = "miSprite"


Podrías hacer

Código :

movieClip.getChildByName("mySprite").x+=50


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Jun 2008 01:13 am
¡Gracias Jorge! Te mando un abrazo del oso y un ósculo de paz. :meditar:

Por vuh

12 de clabLevel



 

firefox

 

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