artfabrique
16.05.2007, 05:55
ситуация такая:
есть класс ErrorManager
его задача эддить на главный дисплей попап самодельный с текстом ошибки.
есть Document class под именем TopLevel:
package {
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.DisplayObjectContainer;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.*;
import flash.events.*;
public dynamic class TopLevel extends MovieClip {
public var ErrorMan:ErrorManager; //это экземпляр класса будет моего менеджера попапов с ошибками.
public static var stage:Stage;
public static var root:DisplayObject;
public function TopLevel() {
this.stage.scaleMode = StageScaleMode.NO_SCALE;
this.stage.align = StageAlign.TOP_LEFT;
this.stage.addEventListener(Event.RESIZE, stageResizeFn); // тут эвент на позиционирование элементов лишний код я не стал писать.
TopLevel.stage = this.stage;
TopLevel.root = this;
ErrorMan = new ErrorManager(); // это собсно сам экземпляр
}
}
}
Так же есть мувик errorPopup в библиотеке который стоит как экспорт в АС и экспорт в первом кадре. под него спец класса нету (генерится автоматом)
собственно задача:
когда приказываю - этот инстанс класса ErrorManager (кот. в TopLevel) должен присобачивать в TopLevel на дисплей мой мувик errorPopup и настраивать его параметры (положение, текстовое поле итд).
я дорубаю как addCild делать внуть класса инициатора метода addChild.
тоесть я спокойно(что странно) моки приатачить не на стэйдж а просто внуть ErrorManager мой мувик errorPopup, но естественно на экране он не покажется так как ErrorManager не дисплейный.
так вот как сделать ErrorManager действительно менеджером тоесть чтобы он токо управлял а создавал все снаружи себя - в TopLevel.stage например???????
при попытке вызова внутри конструктора ErrorManager типа
TopLevel.err = new errorPopup();
TopLevel.stage.addChild(TopLevel.err);
TopLevel.err.addEventListener(Event.ADDED_TO_STAGE,errorInit);
все нормально атачится токо событие не срабатывает. :(
метоб errorInit определен внутри этого же класса ErrorManager.
КАК БЫТЬ????
ТАКЖЕ! также если убрать галку Экспорт в первом кадре то ваще атачится ничерта не будет хотя я сам руками тогда перетаскиваю мувик errorPopup на сцену. При этом варнингов нету никаких ни во время рантайма ни при компиле. :wacko:
есть класс ErrorManager
его задача эддить на главный дисплей попап самодельный с текстом ошибки.
есть Document class под именем TopLevel:
package {
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.display.Stage;
import flash.display.DisplayObjectContainer;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.*;
import flash.events.*;
public dynamic class TopLevel extends MovieClip {
public var ErrorMan:ErrorManager; //это экземпляр класса будет моего менеджера попапов с ошибками.
public static var stage:Stage;
public static var root:DisplayObject;
public function TopLevel() {
this.stage.scaleMode = StageScaleMode.NO_SCALE;
this.stage.align = StageAlign.TOP_LEFT;
this.stage.addEventListener(Event.RESIZE, stageResizeFn); // тут эвент на позиционирование элементов лишний код я не стал писать.
TopLevel.stage = this.stage;
TopLevel.root = this;
ErrorMan = new ErrorManager(); // это собсно сам экземпляр
}
}
}
Так же есть мувик errorPopup в библиотеке который стоит как экспорт в АС и экспорт в первом кадре. под него спец класса нету (генерится автоматом)
собственно задача:
когда приказываю - этот инстанс класса ErrorManager (кот. в TopLevel) должен присобачивать в TopLevel на дисплей мой мувик errorPopup и настраивать его параметры (положение, текстовое поле итд).
я дорубаю как addCild делать внуть класса инициатора метода addChild.
тоесть я спокойно(что странно) моки приатачить не на стэйдж а просто внуть ErrorManager мой мувик errorPopup, но естественно на экране он не покажется так как ErrorManager не дисплейный.
так вот как сделать ErrorManager действительно менеджером тоесть чтобы он токо управлял а создавал все снаружи себя - в TopLevel.stage например???????
при попытке вызова внутри конструктора ErrorManager типа
TopLevel.err = new errorPopup();
TopLevel.stage.addChild(TopLevel.err);
TopLevel.err.addEventListener(Event.ADDED_TO_STAGE,errorInit);
все нормально атачится токо событие не срабатывает. :(
метоб errorInit определен внутри этого же класса ErrorManager.
КАК БЫТЬ????
ТАКЖЕ! также если убрать галку Экспорт в первом кадре то ваще атачится ничерта не будет хотя я сам руками тогда перетаскиваю мувик errorPopup на сцену. При этом варнингов нету никаких ни во время рантайма ни при компиле. :wacko: