在数组 Actionscript 中存储一个符号的多个实例(基于合成的游戏)

Storing multiple instances of a symbol in an array Actionscript (Synthesia-based game)

我正在尝试重新制作像 Synthesia 这样的基于钢琴的游戏。所以我在 Adob​​e 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;

有办法解决吗?

不确定您使用的是哪个版本的 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 是父级!)