在您要播放的 swf 影片剪辑中的方法,您必须执行以下操作。swf转换为bytearray后,必须恢复。
编辑
我检查了你的 swf 文件。但是,您的 swf 文件内容不是MovieClip
,而是AVM1Movie
file. 所以直接嵌入是相当困难的。因为AVM1Movie
文件转换为MovieClip
算法。但别担心。使用 ForcibileLoader 很容易获得。
下载一个ForcibileLoader
原始的 ForcibileLoader在这里
参考以下代码。我测试了很棒的工作。
package
{
import flash.display.Loader;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;
import flash.utils.ByteArray;
import flash.utils.getTimer;
import org.libspark.utils.ForcibleLoader;
public class TestProject2 extends Sprite
{
private var loader:Loader = new Loader();
private var mc:MovieClip;
public function TestProjec2t()
{
var fLoader:ForcibleLoader = new ForcibleLoader(loader);
fLoader.load(new URLRequest("../asset/64x48.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onSwfLoaded);
this.addChild(loader);
}
private function onSwfLoaded(e:Event):void
{
trace(e.currentTarget.content);
mc = e.currentTarget.content as MovieClip;
mc.x = Math.random() * stage.stageWidth;
mc.y = Math.random() * stage.stageHeight;
mc.gotoAndPlay(1);
}
}
}