在Flash中,我創建了一個包含實例名稱爲c0到c399的400個按鈕的網格。 在ActionScript中,我想創建一個數組是這樣的:Actionscript 3.0:製作一組按鈕實例名稱
var myArray:Array = [c0,c1,c2,c3,c4,c5,c6];
全部達c399方式。
我寫了一個for循環做的伎倆,但它似乎並不奏效:
import flash.events.MouseEvent;
//create the array
var myArray:Array = [];
for (var i:int=0;i<399;i++){
var cletter:String = 'c';
var p:String = i.toString();
var newvalue:String = cletter + p;
var shizzle:Object = new SimpleButton();
myArray[i] = shizzle;
}
for each(var btn in myArray){
btn.addEventListener(MouseEvent.CLICK, onBtnClick);
}
function onBtnClick(event:MouseEvent):void{
cellinfo.gotoAndStop(event.target.name);
}
當我發佈,沒有錯誤顯示出來,而且當我點擊按鈕,沒有任何反應。 HOwever,如果我使用
var myArray:Array = [c0,c1,c2,c3,c4,c5,c6];
它確實工作! (至少前7個按鈕)。
而且,當我把:
for (var i:int=1;i<6;i++){
var cletter:String = 'c';
var p:String = i.toString();
var newvalue:Object = cletter + p;
myArray[i] = newvalue;
}
它說:類型錯誤:錯誤#1006:值不是一個函數。 at PVproject1_fla :: MainTimeline/frame1()
我剛開始使用AS3 + Flash並花費數小時尋找解決方案。請幫忙!
由於提前, 羅布
真棒!就是這樣..我想這是魔術'這個'。感謝世界房間海盜。 – Rob360 2012-03-24 18:35:45
不客氣,但它並不神奇;)它被稱爲「括號語法」:http://www.senocular.com/?entry=241 – weltraumpirat 2012-03-24 18:39:49