2010-08-25 56 views
3

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

在AS2中,我可以做这样的事情:

mySound = new Sound(); 
mySound.attachSound("any concatenated string" + foo); 

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

回答

4

首先,在您的库中,通过右键单击,选择属性并编辑链接部分中的类字段来设置声音文件的类链接。在这个例子中这将是类:雾笛

import flash.utils.getDefinitionByName;  
var SoundClass:Class = getDefinitionByName("FogHorn") as Class; 
var newSound:Sound = new SoundClass(); 
newSound.play() 
+0

谢谢!这是一个有用的小功能。 – Lack 2010-08-26 14:43:39

+0

肯定是:),另外,我从代码中删除了SoundChannel导入,因为它不是必需的。 – Allan 2010-08-26 22:42:42

0

http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000287.html

这是CS3。如果您的环境不同,请在帮助中搜索部分“嵌入声音”。

+0

也许我的问题不是很清楚 - 我知道如何使用声音作为该链接的说明,但仅涉及其中的声音,你知道在编译时类。 我可以使用在运行时以连接字符串创建的标识符从库中加载声音吗? – Lack 2010-08-25 20:30:26