Flash AS3 eval()

Flá*_*eal 2 flash actionscript-3

我是AS3的新手.我的fla中有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();
}
Run Code Online (Sandbox Code Playgroud)

显然我收到了错误!

有人可以帮帮我吗?

最好的,Flávio

Luk*_* In 7

等效的AS3代码是:

var soundClass:Class = getDefinitionByName("s" + Num) as Class;
var mySound:Sound = new soundClass(); 
Run Code Online (Sandbox Code Playgroud)