|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
Работа с stage, обязательно ли добавлять в него контейнер типа sprite
Прив всем.
Хочу убрать масштабирование флешки. Делаю import flash.display.StageScaleMode; public function MainScreen (){ stage.scaleMode = StageScaleMode.NO_SCALE; } TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at MainScreen() at Main() может правильно переписать и все заработает? Подскажите как исправить... |
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
Чет не оч работает..
Или я неправильно понял работу команды Я хочу, чтоб когда я скомпилирую проект - исчезла возможность растягивать ролик. У меня к примеру размеры 900 на 500, и я хочу, чтоб они так и оставались без изменений. Чтоб пользователь не смог расширить окно. public function MainScreen (){ if(stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } //----------------------------------------------------------- private function init(event:Event=0):void{ stage.scaleMode = StageScaleMode.NO_SCALE; lobbyBtn(); optBtn(); exitBtn(); player(); } |
|
|||||
Modus ponens
|
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
... Насколько я понимаю, stage у меня определяется, поскольку этот код работает.
private function init(event:Event=null):void{ stage.scaleMode = StageScaleMode.NO_SCALE;//эта не работает.. stage.showDefaultContextMenu = false;//Эта строка работает lobbyBtn(); optBtn(); exitBtn(); player(); } private function lobbyBtn(){ var lab:TextField = crLabel(37,70,95,35,"LOBBY"); Btn1.x = 95; Btn1.y = 88; btn_Box1.addChild(Btn1); btn_Box1.addChild(lab); addChild(btn_Box1); btn_Box1.addEventListener(MouseEvent.ROLL_OVER, over_Btn); btn_Box1.addEventListener(MouseEvent.ROLL_OUT, out_Btn); btn_Box1.addEventListener(MouseEvent.CLICK, box); } |
|
|||||
Modus ponens
|
OK, событие называется ADDED_TO_STAGE, что в переводе на общедоступный значит - "добавлен на сцену". По-моему, из названия события очевидно зачем оно нужно - просигналить, когда объект попал в дисплей лист.
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
Я так понимаю, вы меня хотите навести на правильный ответ, что есть очень хорошо.
Но я написал, все что понял из ваших подсказок, и прошу помочь подправить в коде то, что я хочу осуществить... Добавлено через 54 минуты ========================= Ну вот никак не пойму, почему подскажите... |
|
|||||
Modus ponens
|
package tests { //{ imports import flash.display.Sprite; import flash.events.Event; //} /** * Main class. * @author wvxvw * @langVersion 3.0 * @playerVersion 10.0.32 */ public class Main extends Sprite { //-------------------------------------------------------------------------- // // Constructor // //-------------------------------------------------------------------------- public function Main() { super(); // если stage доступен - значит этот класс был добавлен на сцену из timeline if (super.stage) this.addedToStageHandler(null); // в противном случае - подождем else super.addEventListener( Event.ADDED_TO_STAGE, this.addedToStageHandler); } //-------------------------------------------------------------------------- // // Protected methods // //-------------------------------------------------------------------------- protected function addedToStageHandler(event:Event):void { // Entry point } } }
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
Сделал так как вы написали, - но результат прежний...
Не в обиду, но мне кажется что вы не дочитали до конца в чем вопрос, и что у меня не получается... Или я совсем нуб, если это так, то прошу прощения, что морочу голову... public function Main() { super(); // если stage доступен - значит этот класс был добавлен на сцену из timeline if (super.stage) this.addedToStageHandler(null); // в противном случае - подождем else super.addEventListener( Event.ADDED_TO_STAGE, this.addedToStageHandler); } protected function addedToStageHandler(event:Event):void { removeEventListener(Event.ADDED_TO_STAGE, init); stage.scaleMode = StageScaleMode.NO_SCALE;// не работает!!! stage.align = StageAlign.TOP_LEFT;// работает stage.showDefaultContextMenu = false;// работает var scrTimer:Timer = new Timer(1000, 1); scrTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); scrTimer.start(); addChild(fon); } |
|
|||||
Регистрация: Apr 2009
Сообщений: 117
|
В смысле не работает? Все так же ошибки выдает?
Кстати removeEventListener(Event.ADDED_TO_STAGE, init) почему то снимается с функции init, а не с addedToStageHandler.. Последний раз редактировалось GentleFLASH; 23.02.2010 в 01:20. |
Часовой пояс GMT +4, время: 13:16. |
|
« Предыдущая тема | Следующая тема » |
|
|