РЕДАКТИРОВАТЬ: с тех пор я решил эту проблему, просто переделав свое приложение на основе MXML и используя компонент SWFLoader, чтобы получить желаемый эффект, без необходимости перезагрузки. Поэтому этот вопрос больше не является проблемой для меня, но я оставляю его открытым для справки.
В MXML я могу легко получить желаемый эффект:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:SWFLoader width="100%" height="100%"
source="3298.swf"/>
</mx:Application>
Это выглядит так:
(этап внешнего заполнения SWF) http://www.ubuntu -pics.de / bild / 40036 / screenshot_028_MSd0UZ.png
Однако я новичок в ActionScript, поэтому не могу понять, как продублировать это без MXML. Вот соответствующий класс:
package {
import flash.net.URLRequest;
import flash.display.DisplayObject;
import flash.display.Loader;
import flash.events.Event;
public class Asset extends Loader {
public var id:int;
private var preview:Preview;
private var swfContent:DisplayObject;
public var zone:int;
public function Asset(data:Object) {
id = data.id;
zone = data.zone;
}
public function loadInto(previewToSet:Preview):void {
preview = previewToSet;
var request:URLRequest = new URLRequest(url);
contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
load(request);
}
private function onCompleteHandler(loadEvent:Event):void {
swfContent = loadEvent.currentTarget.content;
swfContent.scaleX = 1;
swfContent.scaleY = 1;
preview.addChild(swfContent);
}
private function get url():String {
return id + ".swf";
}
}
}
В функции loadInto
я даю Asset
спрайт для жизни, и он начинает загружаться. Я могу подойти довольно близко, установив scaleX
и scaleY
каждый в 1, но я не могу понять, почему он не наверху, и почему SWF немного больше.
(внешний SWF слегка отключен) http://www.ubuntu -pics.de / bild / 40040 / screenshot_029_4pHKNI.png
Как мне дублировать 100% высоту и ширину MXML в чистом ActionScript? Это выполнимо? Если нет, у меня есть запасное приложение на чистом MXML, но моя реализация там включает загрузку SWF-файлов каждый раз, когда я хочу добавить или удалить какой-либо из них ... это не идеально. Поэтому я бы предпочел этот тип реализации, если смогу просто выяснить проблему с размерами.
Спасибо!