В Flash я создал сетку из 400 кнопок с именами экземпляров c0-c399. В Actionscript, я хотел бы создать массив как это:ActionScript 3.0: создание массива имен экземпляров кнопок
var myArray:Array = [c0,c1,c2,c3,c4,c5,c6];
вплоть до C399.
я написал для цикла, чтобы сделать трюк, но не кажется, что это будет работать:
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);
}
Когда я публикую его, никакие ошибки не обнаруживаются, но и ничего не происходит, когда я нажимаю кнопки , В любом случае, если я использую
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;
}
он говорит: TypeError: Error # 1006: Значение не является функцией. на PVproject1_fla :: MainTimeline/frame1()
Я только начал работать с AS3 + Flash и потратил часы на поиск решения. Пожалуйста помоги!
Спасибо заранее, Роб
УДИВИТЕЛЬНЫЙ! вот и все .. волшебство «это», я думаю. Спасибо мирскому пирату. – Rob360
Добро пожаловать, но это не волшебство;) Это называется синтаксисом «скобки»: http://www.senocular.com/?entry=241 – weltraumpirat