0

私の .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.

なぜこれがうまくいかないのかわからない - 何かアイデアはありますか?

4

2 に答える 2

2

sf_warp_finishは、実際にはデータが埋め込まれたクラスです。new()を呼び出すと、それがインスタンス化され、オブジェクト(Classオブジェクトではない)が作成されます。

例については、 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/SoundAsset.htmlを参照してください 。

于 2013-01-17T19:47:10.937 に答える
0

それはうまくいくはずです:

var snd:Sound;
if (soundId == "sf_warp_finish") snd = new sf_warp_finish() as Sound;
if (snd)
    snd.play();
于 2013-01-17T21:15:41.993 に答える