проблема с флеш загрузчиком - PullRequest
0 голосов
/ 01 марта 2011

У меня трудности с определенным вопросом: У меня есть основное флеш-приложение, которое загружает различный контент - игры, приложения и т. Д. В некоторых играх при его загрузке происходит изменение в поведении частей (мувиклипов). Например, без приложения-загрузчика вы стреляете и убиваете человека в контентной игре, но в загрузчике, когда вы играете в ту же игру, вы стреляете, и хотя пуля коснулась человека-MC, ничего не происходит. Я надеюсь, я объясню это нормально)). Есть идеи, почему это происходит? спасибо, я заранее

обновление:

Привет, Малте Кёрер, Большое спасибо за ваши ответы! Это просто сводит меня с ума - ответ где-то здесь, но отсутствует). Вот код - на Event.COMPLETE я меняю позицию загружаемого контента. У меня есть другая функция, которая выполняется во время ЗАВЕРШЕНИЯ, и она добавляет части, что их расположение изменилось. Важно, чтобы они менялись на КОМПЛЕКТАЦИИ не раньше. спасибо за вашу помощь.

var loader:Loader = new Loader();
addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadingFunc);
loader.load(new URLRequest(urlAdr));


function loadingFunc(event:Event):void
{

    var loaderInf:LoaderInfo = event.target as LoaderInfo;
    dispObj = loaderInf.loader;

    //dispObj.x = stage.stageWidth/2-loaderInf.width/2;  --------------- That how it was          before I changed root property
    //dispObj.y = stage.stageHeight/2-loaderInf.height/2;

    var mb:MovieClip = dispObj.loaderInfo.content as MovieClip; //----------- That how it's now
    mb.x = stage.stageWidth/2-loaderInf.width/2;
    mb.y = stage.stageHeight/2-loaderInf.height/2;

    //var app:App = new App(mb); This give the same resault as var mb:MovieClip = dispObj.loaderInfo.content as MovieClip;
}

1 Ответ

0 голосов
/ 02 марта 2011

Чтобы избежать использования root, нужно инициализировать ваше приложение, как показано на временной шкале:

var app:App=new App(this);

В этом случае вы передаете приложению ссылку на мувиклип, содержащий сценарий, независимо от того,это в корне или где-либо еще.Вот пример того, как может выглядеть класс:

class App{
    public var appRoot:MovieClip=null;
    function App(appRoot:MovieClip){
        this.appRoot=appRoot:
    }
    function setHeadline(text:String):void{
         appRoot.textField.text=text;
    }
}

Теперь вы получили ссылку на сохраненный мувиклип и можете использовать его для доступа (пример: функция setHeadline ()) ко всему, не беспокоясь о том, что root не содержитчто вы ожидаете.

...