as3嵌入声音无法转换为类型?

时间:2013-01-17 19:31:18

标签: actionscript-3 load embed

将声音嵌入我的.swf ..

[Embed(source='/audio/files/sp_worm.mp3')]
private var sf_warp_finish:Class;

在这里阅读:

var sndClass:Class;
if (soundId == "sf_warp_finish") sndClass = new sf_warp_finish();

并且收到此错误:

Type Coercion failed: cannot convert GameSoundManager_sf_warp_finish@a94eb31 to Class.

不确定为什么这不起作用 - 任何想法?

2 个答案:

答案 0 :(得分:2)

sf_warp_finish实际上是包含嵌入数据的类;当你调用new()时,你实例化它,现在你有一个对象(不是Class对象)。

参见http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/SoundAsset.html 举个例子。

答案 1 :(得分:0)

应该有效:

var snd:Sound;
if (soundId == "sf_warp_finish") snd = new sf_warp_finish() as Sound;
if (snd)
    snd.play();