Comunidad de diseño web y desarrollo en internet online

movieClips en AS3

Citar            
MensajeEscrito el 03 Oct 2010 03:53 pm
buen dia comunidad.

Soy nuevo en AS3, hasta hace algunas semanas programaba en AS2 con relativa facilidad, pero al intentar algunas animaciones en AS3, que ya habia realizado en AS2, no me han funcionado, por eso recurro a ustedes.

Explico: Supongamos que tengo en la biblioteca un movieClip vinculado con el nombre MC, y en la escena escribo el siguiente codigo para insertar 10 moviClips con los nombres secuenciales MC1,MC2,MC3,....MC10. en AS2 lo haria asi:


// Llamo a cada movieClip con se respectivo nombre y les asigno una posicion dentro de la escena.
for(i=1;i<=10;i++){
_root.attachMovie("MC","MC"+i,i);
_root["MC"+i]._x=i*100;
_root["MC"+i]._y=200;
}
// Supongamos que despues quiero modificar alguna propiedad de solo dos movieClips, supongamos que MC3 y a MC8
MC3._alpha=50;
MC8._rotation=20;


Es esto ultimo lo que no puedo hacer en AS3 y espero alguien me oriente en que estoy haciendo mal, les muestro el codigo con el que lo estoy intentando


// Llamo a cada movieClip con se respectivo nombre y les asigno una posicion dentro de la escena.
var myMC:MovieClip=new MovieClip();
for(var i:int=1;i<=10;i++){
myMC=new MC();
myMC.name="myMC"+i;
myMC.x=i*100;
myMC.y=200;
addChild(myMC);
}
// Despues intento modificar algunas propiedades
var ref1=getChildByName(MC3) as MovieClip;
var ref2=getChildByName(MC8) as MovieClip;
ref1.alpha=0.5;
ref2.rotation=20;

Si elimino las lineas que estan despues del for me aparecen los movieClip sin problemas, pero al agragr las ultimas lineas no aparece nada. que estoy haciendo mal.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 03 Oct 2010 09:31 pm
el error puede ser antes del loop for la variable de tu mc, solo debe estar declarada mira por ejemplo :

Código ActionScript :

// "Cuadro" nombre de la clase vinculada al MovieClip

//solo se declara
var cuadro:Cuadro;

for(var i:uint=0; i<10; i++)
{
   //intancias con la palabra clave new 
   cuadro = new Cuadro();
   cuadro.name = "cuadro"+i;
   cuadro.x = Math.random() * (stage.stageWidth / 2);
   cuadro.y = Math.random() * stage.stageHeight;
   addChild(cuadro);
}

//referencia
var ref:Cuadro = Cuadro(this.getChildByName("cuadro0"))
ref.rotation = 35;


te debe de andar..ahora lo optimo seria que metieras todos tus movieclips generados en un vector o array, y accederías a ellos por medio del index del vector sin tener que crear una variable que haga referencia al movieclip.

Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

chrome
Citar            
MensajeEscrito el 16 Oct 2010 12:31 am
muchas gracias por tu respuesta...

ya lo solucione, lo unico que tube que hacer es agregar las comillas en el nombre de los movie clips, asi:

var ref1=getChildByName("MC3") as MovieClip;
var ref2=getChildByName("MC8") as MovieClip;

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8

 

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