Хранение нескольких экземпляров символа в массиве Actionscript (основанная на синтезе игра)

Я пытаюсь воссоздать игру на основе фортепиано, такую ​​как Synthesia. Поэтому я сделал копии одного символа ноты в Adobe Flash и назвал экземпляры char0, char1, char2..., чтобы обозначить различные ноты пианино, попадающие в разные позиции.

Я хочу сохранить экземпляры в массиве, используя простой цикл for перед инициализацией кода. Вот что я пытаюсь:

var charac:Array = new Array();

for(i=0;i<88;i++)
{
_root.charac[i] = char+i;
}

Но это не работает. Это код, который я хочу достичь, но в оптимизированной форме:

    _root.charac[0] = char0;

    _root.charac[1] = char1;


    _root.charac[2] = char2;

Любой способ обойти это?

1 ответ

Решение

Не уверен, какую версию AS вы используете, это должно работать для AS2:

charac = new Array();
char0='0';
char1='1';
char2='2';
for(i=0;i<3;i++)
{
_root.charac[i]=_root['char'+i];
}

trace(charac);

S0, если вы уже создали переменные (char0...charX), они доступны таким образом (если _root является родительским!)

Другие вопросы по тегам