我是AS3的新手。我的音乐中有15种声音;我将它们导入到库中,并导出了所有名称为s1, s2, s3, ... s15的声音。

我创建了一个接收数字然后播放声音的函数。

在AS2中,我可以像eval一样使用eval("s" + n),但是在AS3中,我不能!

我的AS3代码是:

function PlaySound(Num:Number=NaN) {
    var mySound:Sound = new ["s"+Num]();
    mySound.play();
}


显然我遇到了错误!

有人可以帮助我吗?

最好,Flávio

最佳答案

等效的AS3代码为:

var soundClass:Class = getDefinitionByName("s" + Num) as Class;
var mySound:Sound = new soundClass();

关于flash - Flash AS3 eval(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7047942/

10-12 06:39