Загрузить AS2 SWF в AS3 SWF и передать переменные в URL
Я пытаюсь загрузить в файл 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 -digrical.sfw и действовать как обертка для установления соединения между исходным файлом as2 и основным файлом as3)
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();
Файл as3 (при этом воспроизводится оболочка as2):
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();
В файле оболочки as2 исходный фильм воспроизводится до определенного кадра;в файле as3 файл-обертка as2 воспроизводит только первый кадр.Что мне нужно сделать?????