|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
"пустой graphics" у стейдж? А у Stage есть graphics?
Стейдж не просто какой-то контейнер. Даже у классов, которые он якобы расширяет, Stage наследует далеко не все свойства, методы и события. Вы не можете создавать его экземпляры, и не можете наследовать. Стейдж не является составной частью Вашей программы, он представляет среду, в которой исполняется Ваша программа. А вот почему рут не реагирует на мышь собственной графикой, это интересно.
__________________
Reality.getBounds(this); |
|
|||||
А ну окей тогда, просто странно (и я не понимаю почему) что без this и просто_так не работает. И странно что я натолкнулся на это только сейчас а не раньше.
__________________
cats are supreme beings |
|
|||||
Вообще интересно. Баг проявляется только с документ-классом.
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.events.MouseEvent; public class Main extends Sprite { public function Main() { super(); super.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } private function onAddedToStage(event:Event):void { super.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); super.stage.align = StageAlign.TOP_LEFT; super.stage.scaleMode = StageScaleMode.NO_SCALE; var useDocumetClass:Boolean = false; var spr:Sprite; if (useDocumetClass) { spr = this; }else { spr = new Sprite(); super.addChild(spr); } spr.graphics.beginFill(0xFF0000); spr.graphics.drawRect(0, 0, 100, 100); spr.graphics.endFill(); spr.addEventListener(MouseEvent.CLICK, onClick); } private function onClick(event:MouseEvent):void { trace("click"); var spr:Sprite = event.target as Sprite; spr.removeEventListener(MouseEvent.CLICK, onClick); spr.addEventListener(MouseEvent.CLICK, onClick2); super.stage.addChild(spr); } private function onClick2(event:MouseEvent):void { trace("click 2"); var spr:Sprite = event.target as Sprite; spr.removeEventListener(MouseEvent.CLICK, onClick2); spr.addEventListener(MouseEvent.CLICK, onClick3); super.stage.removeChild(this); } private function onClick3(event:MouseEvent):void { trace("click 3"); } } }
__________________
...вселенская грусть |
|
|||||
Цитата:
__________________
cats are supreme beings |
|
|||||
[+4 08.09.13]
Регистрация: May 2012
Сообщений: 131
|
Graphics не является EventDispatcher'ом.
предлагаю на этом закрыть тему. |
Часовой пояс GMT +4, время: 07:59. |
|
« Предыдущая тема | Следующая тема » |
Теги |
да , я идиот |
|
|