作者etrexetrex (moonet)
看板Flash
標題Re: [問題] 大量AddChildMC到Object中
時間Thu Mar 31 17:34:21 2011
var Obj:Sprite = new Sprite();
vr array:Array = [ new draw1(), new draw2(), new draw3(), new draw4()];
for(var i = 0 ; i < array.length ; i++)
{
var draw:Sprite = Sprite(array[i]);
draw.name = "draw" + i;
draw.x = i * 100;
draw.y = 50;
}
用陣列和父類別
※ 引述《sin282 (Q)》之銘言:
: 自問自答,使用了getChildByName去取值後再跑迴圈後,就可以去設定了
: 不曉得還有沒有其它的方法~感恩
: for(var num=1;num<5;num++){
: Obj.getChildByName('Draw'+num+'n').x=50*num;
: }
: ※ 引述《sin282 (Q)》之銘言:
: : 請問一下,有沒有方法可以將下面這段語法減,下列我會提出我自己的想法.
: : var Obj:Sprite= new Sprite();
: : addChild(Obj);
: : var Draw1:draw1 = new draw1(); //到時這些class可能是圓、正方、三角等.
: : var Draw2:draw2 = new draw2();
: : var Draw3:draw3 = new draw3();
: : var Draw4:draw4 = new draw4();
: : Obj.addChild(Draw1);
: : Obj.addChild(Draw2);
: : Obj.addChild(Draw3);
: : Obj.addChild(Draw4);
: : 以下縮減.但都同上x4,怕太長
: : Draw1~4.name='Draw1n';
: : Draw1~4.x=50~n 累+25
: : Draw1~4.y=~~
: : Draw1~4.scaleX=0.3;
: : ----------------------我是分格線----------------------------------------
: : 想說如果照我這種寫法,如果有50個工具,我就要寫50次.
: : 我想到的是使用
: : for(var num=1;num<=4;num++){
: : Obj.(this['Draw'+num]).x=50; //看來是沒有這種寫法
: : }
: : @.@想不到了,想不到怎麼樣把他們用迴圈去跑
--
blog:
http://etrex.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.137.198.18
推 cjcat2266:推,不要忘記用最簡單的Array這招啊 04/02 02:58
→ sin282:感謝大大 04/06 09:31