порядок выполнения кода flash-as3: доступ к экземпляру flash pro после gotoAndStop () - PullRequest
0 голосов
/ 13 августа 2011

это дополнительный вопрос к этому вопросу

У меня никогда не было порядка выполнения кода flash-actionscript.

во Flash Pro у меня есть экземпляр Moviclip на сцене в кадре с именем tree1 и в кадре 3 у меня на сцене tree3.

в классе документа у меня есть этот код:

stop();
var scaleFactor:Number = tree1.scaleX;
gotoAndStop(3);
tree3.scaleX = scaleFactor;

пока это работает при тестировании на рабочем столе, в конце концов это приложение станет мобильным

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

Ответы [ 2 ]

0 голосов
/ 21 марта 2013

ожидание Event.FRAME_CONSTRUCTED - правильный способ всякий раз, когда осуществляется доступ к активам на временной шкале

, он гарантирует, что все активы были созданы

0 голосов
/ 13 августа 2011

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

Я предлагаю вам создать простой MovieClip, связанный с его собственным классом, как, например, SceneTree, и поместить его на каждый ключевой кадр. У вас будет больше контроля, когда вы входите или выходите из каждого кадра.

package  {

    import flash.display.MovieClip;
    import flash.events.Event;


    public class SceneTree extends MovieClip {


        public function SceneTree() {
            super();
            this.addEventListener(Event.ADDED_TO_STAGE, Init);
            this.addEventListener(Event.REMOVED_FROM_STAGE, removed);
        }
        protected function Init (event:Event):void{
            trace("added")
        }
        protected function removed (event:Event):void{
            trace("removed")
        }

    }

}
...