我在Haxe玩声音资产时遇到了麻烦。我可以导入带swfmill
的mp3而不会出错:
<?xml version="1.0" encoding="utf-8" ?>
<movie width="100" height="100">
<frame>
<library>
... other resources ...
<sound id="Shoot" import="shoot.mp3"/>
</library>
</frame>
</movie>
在我的Main.hx
中,我创建了一个名为Shoot
的类,其扩展Movieclip
的方式与我用于.png
资源的方式相同。然后我按如下方式使用这个类:
var sound:MovieClip = new Shoot();
stage.addChild(sound);
sound.play();
但是在运行时,执行此代码时,我收到错误
"Error #2136: The SWF File <project swf> contains invalid data".
我在swf xml文件或haxe代码中出现的任何明显错误?如何进一步调试此错误?
答案 0 :(得分:0)
我终于设法通过将它们声明为声音(而不是MovieClips)来播放声音库中的声音
class Shoot extends flash.media.Sound {public function new() { super(); }}
并且你不需要将它们添加到舞台上,只需播放它:
var shoot : flash.media.Sound = new Shoot();
shoot.play();