Actionscript 3:使用字符串中的名称播放库中的声音

Lac*_*ack 3 flash audio actionscript-3

我正在尝试编写一些 actionscript 3 代码来播放库中的短声音,使用动态创建的字符串来加载它。

在 AS2 中,我可以这样做:

mySound = new Sound();
mySound.attachSound("any concatenated string" + foo);
Run Code Online (Sandbox Code Playgroud)

然而,在 AS3 中,标识符是一个类,其名称似乎必须是已知的。有没有一种简单的方法可以使用标识符作为 ActionScript 3 中的字符串来“附加”声音?

All*_*lan 5

首先,在您的库中,通过右键单击、选择属性并编辑“链接”部分中的“类”字段来设置声音文件的类链接。在此示例中,它将是 Class:FogHorn

 import flash.utils.getDefinitionByName;    
 var SoundClass:Class = getDefinitionByName("FogHorn") as Class;
 var newSound:Sound = new SoundClass(); 
 newSound.play()
Run Code Online (Sandbox Code Playgroud)