AS3 Air On Android - загрузка SWF как собственного основного () - PullRequest
1 голос
/ 08 ноября 2011

Я использую приложение-обертку, чтобы загрузить удаленный SWF-файл и сохранить его на планшете Xoom. Загрузка и сохранение работает нормально, но с использованием чего-то вроде

var file:File = File.applicationStorageDirectory.resolvePath("app.swf");
var loader:Loader = new Loader();
loader.load(new URLRequest(file.url)/*,context needed?*/);
_main.addChild(loader);

Винты с таргетингом в загруженном SWF, так что в моем загруженном SWF, если я попытаюсь назвать «stage» из «Main», его ноль. Я думал, так как загруженные SWF-файлы имели собственную песочницу, она будет загружаться и запускаться так же, как и я, я установил ее сам, похоже, это не так. Если бы это было настольное приложение, я мог бы использовать NativeWindow, но оно пока не поддерживается на мобильных устройствах. Есть какие-нибудь варианты, где я могу загрузить и запустить его в своей песочнице, где пути и корни не повреждены? Возможно, команда запускает его как отдельный SWF-файл из моей SWF-оболочки?

1 Ответ

1 голос
/ 08 ноября 2011

Я столкнулся с большим количеством проблем, но в конце концов нашел правильный путь, вы не можете получить доступ к "Файл", но это работает просто отлично.

function getSWF():void
{
var request:URLRequest = new URLRequest("child.swf");
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
loader.load(request);
_main.addChild(loader);// _main is my display sprite
}

function loadHandler(event:Event):void
{
   var childSwf:Object = event.target.content;
   childSwf.init( PARAMS );// in my case I needed to pass XML but this is any method in the Main of the child swf, note that "stage" is read only, so your parent swf needs to set any stage vars you need
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...