Actionscript 3 将外部电影加载为2包装器

Actionscript 3 将外部电影加载为2包装器,actionscript-3,actionscript-2,localconnection,Actionscript 3,Actionscript 2,Localconnection,我正在尝试在as3文件中加载一个外部as2 swf文件(我没有访问fla文件的权限)。根据上面链接中给出的解释,解决方案是对原始as2文件使用as2包装(并在as3和as2文件之间建立本地连接)。我试过这么做,但尽管电影似乎加载到了我的as3文件中,但它没有启动,没有播放,并且卡在了第一帧中。如何播放电影(以及加载)?谢谢你的帮助 我的as3文件是: import com.gskinner.utils.SWFBridgeAS3; var loader = new Loader() loader

我正在尝试在as3文件中加载一个外部as2 swf文件(我没有访问fla文件的权限)。根据上面链接中给出的解释,解决方案是对原始as2文件使用as2包装(并在as3和as2文件之间建立本地连接)。我试过这么做,但尽管电影似乎加载到了我的as3文件中,但它没有启动,没有播放,并且卡在了第一帧中。如何播放电影(以及加载)?谢谢你的帮助

我的as3文件是:

import com.gskinner.utils.SWFBridgeAS3;

var loader = new Loader()
loader.load(new URLRequest("as2_test.swf"));

addChild(loader);

var sb1:SWFBridgeAS3 = new SWFBridgeAS3("test",this);
我的as2文件是:

import com.gskinner.utils.SWFBridgeAS2;

var sb1 = new SWFBridgeAS2("test",this);
sb1.addEventListener("connect",this);

var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(this);

loader.loadClip("digestive.swf", mainLoader_mc);
编辑:我一直有这个问题。这就是我到目前为止所做的:

as2文件-as2test.fla(需要下载另一个as2文件-as2.sfw并充当包装器,以在原始as2文件和主as3文件之间建立连接)

as3文件(这将播放as2包装):


在as2包装文件中,原始电影播放到某一帧;在as3文件中,as2包装文件仅播放第一帧。我该怎么办

排除故障有点困难。AS2文件对我来说似乎不完整(例如mainLoader\u mc在哪里?)。你对“消化系统swf”了解多少?只是时间线动画吗?我最好的建议是创建两个测试文件,这样您就可以真正掌握LocalConnection的工作原理,因为Grant(gskinner)所做的只是为它做一个小包装,使它更容易使用,这并不一定使它更容易理解。(格兰特太棒了,顺便说一句)告诉我们更多!
import com.gskinner.utils.SWFBridgeAS2;

var sb1 = new SWFBridgeAS2("test",this);
sb1.addEventListener("connect",this);

var my_pb:mx.controls.ProgressBar;
my_pb.mode = "manual";

this.createEmptyMovieClip("img_mc22", 999);

var my_mcl:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();

mclListener.onLoadStart = function(target_mc:MovieClip):Void {
    my_pb.label = "loading: " + target_mc._name;
};

mclListener.onLoadProgress = function(target_mc:MovieClip, numBytesLoaded:Number,    numBytesTotal:Number):Void {
    var pctLoaded:Number = Math.ceil(100 * (numBytesLoaded / numBytesTotal));
    my_pb.setProgress(numBytesLoaded, numBytesTotal);
    trace(pctLoaded);
};

my_mcl.addListener(mclListener);
my_mcl.loadClip("digestive.swf", img_mc22);

stop();
import flash.net.URLRequest;
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;

function startLoad()
{
    var mLoader:Loader = new Loader();
    var mRequest:URLRequest = new URLRequest("as2test.swf");
    mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
    mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
    mLoader.load(mRequest);
}

function onCompleteHandler(loadEvent:Event)
{
    addChild(loadEvent.currentTarget.content);
}

function onProgressHandler(mProgress:ProgressEvent)
{
    var percent:Number = mProgress.bytesLoaded/mProgress.bytesTotal;
    trace(percent);
}

startLoad();
stop();