Re: [問題] as3 動態名稱的問題
※ 引述《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
07/10 18:39, 1F
→
07/10 21:49, , 2F
07/10 21:49, 2F
討論串 (同標題文章)