Re: [問題] as3 動態名稱的問題

看板Flash作者 (我是沒牌的營養師!)時間16年前 (2009/07/10 18:36), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《ADRIA (閉區裡)》之銘言: : var load_save:Loader=new Loader; : show_pic.addChild(load_save); : var i:Number; : var load1:URLRequest=new URLRequest("01.jpg"); : trace(load1.url);//test url : var mcXArr:Array=new Array(1, 2, 3); : for (i=1; i<=mcXArr.length; i++) { : function click1(event:MouseEvent) { : load_save.load(load1); : } : btn1.addEventListener(MouseEvent.CLICK,click1); : this["btn"+i].buttonMode=true; : } 程式會大概長這樣(程式碼沒測試過,也許有錯) for (var i:uint = 0; i < 3; i++) { // 設定按鈕listener this["btn" + (i+1)].addEventListener(MouseEvent.CLICK,clickHandler); // 設定buttonMode this["btn" + (i+1)].buttonMode = true; } function clickHandler(evt:MouseEvent) { // load external images here trace(evt.target.name + " was clicked!"); } 從你原來程式碼的用途看起來,event handler應該是在迴圈外面的 如果你知道檔案是照數字排的話,mcXArr可以省下來 另外,變數i應該是不用特別宣告在外面,看起來它在for loop結束後就用不到了 原來程式碼需要修正的觀念不少,建議找本書詳讀一下基本語法的部份 不然只知其然而不知其所以然,寫起來會挺痛苦的喔 :) -- http://blog.eddie.com.tw/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.128.37

07/10 18:39, , 1F
賺P幣用的文章
07/10 18:39, 1F

07/10 21:49, , 2F
感謝!~~我會去找本書來詳讀
07/10 21:49, 2F
文章代碼(AID): #1ALncIAj (Flash)
文章代碼(AID): #1ALncIAj (Flash)