Как предотвратить загрузку приложения Loader от изменения положения и размера моих приложений? - PullRequest
0 голосов
/ 15 ноября 2010

Я загружаю SWF-файл с помощью простого загрузчика, но он меняет положение и размер х / у основных приложений.

Какой загрузчик я использую для загрузки SWF-файла, который будет поддерживать размер позиции моего приложения?

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.INIT, function handleInit(event:Event):void{
    var UIDesigner:UIComponent = new  UIComponent();
    UIDesigner.addChild(event.target.loader.content);
    UIDesigner.id = "id_sample";
    ApplicationObject.Instance.addElementAt(UIDesigner,0)

    event.target.content.addEventListener(FlexEvent.APPLICATION_COMPLETE, function applicationCompleteHandler(event:Event):void{
        var app:SystemManager = event.target as SystemManager;
        var Designer:SkinnableContainer = app.application as SkinnableContainer;
        Designer.id = "id_test";
        ApplicationObject.Instance.removeElementAt(0);
        pTabCon.addChild(Designer as SkinnableContainer);
        pTabCon.horizontalScrollPolicy = "off";
        pTabCon.verticalScrollPolicy = "off";
        Parent.id_ComponentsTab.addChild(pTabCon);
        Parent.id_ComponentsTab.selectedChild = pTabCon;
        trace("swf loaded successfully");
        ApplicationObject.Instance.m_ApplicationList.addItem(Designer);
    });                         
});

Ответы [ 3 ]

1 голос
/ 15 ноября 2010

Проблема не в загрузчике, а в том, как вы его используете, и, в частности, в том, как вы добавляете контент на сцену.

DisplayObjectContainer изменит размер в соответствии с его содержимым.Например, если вы загружаете MovieClip с шириной 400 в другой MovieClip с шириной 200, ширина содержащего MovieClip изменится на 400. Это ожидаемое поведение.

Можно изменить это поведение, используянапример, маскирование или изменение свойств загруженного содержимого перед добавлением содержимого на сцену.

Что касается свойств x & y, то это будет связано с вашим кодом.Загрузка содержимого не должна изменять свойства x & y содержащего объекта.

Если вы отредактируете свой вопрос и добавите пример кода, мы сможем оказать вам более конкретную помощь.

0 голосов
/ 10 апреля 2011
    loadSWFFile("resources/awords/myswf.swf");
private function loadSWFFile(fileURL:String):void
{
    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleSWFLoadComplete0);
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler0);
    loader.load( new URLRequest(fileURL));
}
private function handleSWFLoadComplete0( evt:Event ):void
{
    loaderWidth = evt.currentTarget.loader.width;
    loaderHeight = evt.currentTarget.loader.height;

    // Now set the width and height of target component same as loaderWidth and loaderHeight respectively.
}
private function ioErrorHandler0(e:IOErrorEvent):void
{
    mx.controls.Alert.show("Unable to load", "IOError", 0);
}
0 голосов
/ 15 ноября 2010

swf, который вы загружаете, вызывает root или возможно stage? У меня была такая проблема с анимированным фоном SWF для моего приложения. и как его загрузить?

обн: вы всегда можете использовать NO_SCALE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...