|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Проверка курсора, за сценой, внутри сцены.
Всем привет, подскажите, как можно проверить положение курсора, внутри сцены курсор или курсор вне сцены?
Добавлено через 14 минут я хочу сделать проверку на перетаскивание объекта, если объект отпустили за пределами сцены, объект возвращается в исходную позицию. в ас 2.0 это было так |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Событие Event.MOUSE_LEAVE - мышь покидает окно флэш-плеера (точнее сцену).
А onReleaseOutside не имел к этому ни малейшего отношения. Это - когда кнопку мыши ОТПУСКАЮТ не на том объекте, на котором НАЖАЛИ.
__________________
Reality.getBounds(this); |
|
|||||
вот как можно сделать проверку, что бы объект выпущенный за сценой, возвращался назад?
package { import flash.display.Sprite; import flash.events.MouseEvent; public class DragAndDrop extends Sprite { private var _obj; public function DragAndDrop() { _obj = new Obj(); stage.addChild(_obj); _obj.addEventListener(MouseEvent.MOUSE_DOWN, drag); _obj.addEventListener(MouseEvent.MOUSE_UP, drop); } private function drag(evt:MouseEvent):void { _obj.startDrag(); } private function drop(evt:MouseEvent):void { _obj.stopDrag(); } } } |
|
|||||
Регистрация: Nov 2007
Сообщений: 1,723
|
package { import flash.display.Sprite; import flash.events.MouseEvent; public class DragAndDrop extends Sprite { private var _obj; private var startX:int; private var startY:int; public function DragAndDrop() { _obj = new Obj(); stage.addChild(_obj); _obj.addEventListener(MouseEvent.MOUSE_DOWN, drag); _obj.addEventListener(MouseEvent.MOUSE_UP, drop); _obj.addEventListener(Event.MOUSE_LEAVE, leaveHandler); } private function leaveHandler(e:Event):void { e.target.stopDrag(); e.target.x = startX; e.target.y = startY; } private function drag(evt:MouseEvent):void { startX = e.target.x; startY = e.target.y; _obj.startDrag(); } private function drop(evt:MouseEvent):void { _obj.stopDrag(); } } } |
|
|||||
а есть ли альтернатива событию onReleaseOutside в as 3.0, поскольку вышепреведенные варианты никак не подошли(
|
|
|||||
Регистрация: Nov 2007
Сообщений: 1,723
|
Вам нужно именно, чтобы при отпускании мыши смотрелось наличие курсора на сцене?
|
|
|||||
не совсем, главное что бы перетаскиваемый объект возвращался в исходную позицию, если этот объект был "брошен" за сценой флэшки
Последний раз редактировалось Dr_Bra; 20.07.2010 в 14:27. |
|
|||||
Регистрация: Nov 2007
Сообщений: 1,723
|
Не понял, каким чудесным образом у вас LEAVE_MOUSE стал MouseEvent
|
|
|||||
4AM Games
|
protected var mouseLeft:Boolean = false; protected function init():void { stage.addEventListener( Event.MOUSE_LEAVE, mouseLeave ); } protected function mouseLeave( event:Event ):void { mouseLeft = true; stage.addEventListener( MouseEvent.MOUSE_MOVE, mouseMove ); } protected function mouseMove( event:MouseEvent ):void { mouseLeft = false; stage.removeEventListener( MouseEvent.MOUSE_MOVE, mouseMove ); }
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ Последний раз редактировалось Nirth; 20.07.2010 в 14:56. |
Часовой пояс GMT +4, время: 12:55. |
|
« Предыдущая тема | Следующая тема » |
Теги |
внутри , курсор , положение , сцены |
|
|