Хранение нескольких экземпляров символа в массиве 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 является родительским!)