Re: [問題] 大量AddChildMC到Object中

看板Flash作者 (阿信163)時間14年前 (2011/03/31 18:50), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
※ 引述《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; var obj:Sprite = new Sprite(); //你懂的 var DrawClass:Class; //用來指定要存取的 class for(var i:int = 1; i<=4; i++){ //因為看你有 draw1 ~ draw4,用 getDefinitionByName 動態決定 class DrawClass = getDefinitionByName("draw" + i) as Class; obj = new DrawClass; //就 new 一個給它,沒啥特別 obj.x = (i-1) * 25 + 50; //這樣在這邊就可以直接指定x位置 obj.y = 100; this.addChild(obj); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.83.234

04/06 09:31, , 1F
感謝大大
04/06 09:31, 1F
文章代碼(AID): #1Db5oIdL (Flash)
文章代碼(AID): #1Db5oIdL (Flash)