Во Flash я создал сетку из 400 кнопок с именами экземпляров от c0
до c399
.
В Actionscript я бы хотел создать массив, подобный этому:
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);
}
Когда я публикую его, ошибок не появляется и ничего не происходит, когда я нажимаю кнопки Однако, если я использую
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: Ошибка # 1006: значение не является функцией. в
PVproject1_fla :: MainTimeline / frame1 ()
Я только начал работать с AS3 + Flash и часами искал решение. Пожалуйста, помогите!