我是AS3的新手。我的fla中有15个声音;我将它们导入库并导出名为s1, s2, s3, ... s15
我创建了一个接收数字然后播放声音的功能。
在AS2中,我可以像eval
一样使用eval("s" + n)
,但在AS3中我不能!{/ p>
我的AS3代码是:
function PlaySound(Num:Number=NaN) {
var mySound:Sound = new ["s"+Num]();
mySound.play();
}
显然我收到了错误!
有人可以帮助我吗?
Best,Flávio
答案 0 :(得分:7)
等效的AS3代码为:
var soundClass:Class = getDefinitionByName("s" + Num) as Class;
var mySound:Sound = new soundClass();
答案 1 :(得分:0)
将这些声音对象放在一个数组中,例如arr [“s1”] = s1,arr [“s2”] = s2等等(在AS3中是的,数组实际上是一个散列图。)
一旦完成,无论何时收到号码(Num)都可以做到这一点
function PlaySound(Num:Number=NaN) {
var mySound:Sound = arr["s"+Num];
mySound.play();
}