public class SndFx
{
[Embed(source="Sounds/01.mp3")]
public static const s01:Class;
public static const s01s:Sound = new s01() as Sound;
[Embed(source="Sounds/02.mp3")]
public static const s02:Class;
public static const s02s:Sound = new s02() as Sound;
[etc...]
}
我可以动态访问这些属性吗?我有很多想要播放的声音,我想做这样的事情:
SndFx["s"+numberStr+"s"].play();
答案 0 :(得分:2)
我不知道如何做到这一点,虽然我不确定它实际上是不可能的。但是,解决这个问题的方法是使用具有典型静态方法的单例来访问实例。
SndFx.getInstance()['s'+numberStr+'s'].play();
更好的方法是使用Sound对象填充数组,甚至是Flash Player 10 Vector,并使用它来访问对象。
SndFx.soundEffectsArray[parseInt(numberStr)].play();
允许您检查解析的整数是否超出范围,等等。