Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Определение координат мыши из класса (http://www.flasher.ru/forum/showthread.php?t=139769)

dima_s 10.05.2010 22:56

Определение координат мыши из класса
 
Приветствую всех.
Недавно начал изучать AS 3
Решил попробовать написать класс для перетаскивания muvieclip без использования функций startdrag и stopdrag. Столкнулся со следующей проблемой класс определяет координаты мыши только над мувиклипом а не над экраном. Прошу вашей помощи.

Вот код

Код AS3:

package myas
{
        import flash.display.MovieClip;
        import flash.events.MouseEvent;
 
        public class DragClip extends MovieClip
        {
                public function DragClip()
                {
                        this.addEventListener(MouseEvent.MOUSE_MOVE, changeXY);
                }
 
                public function changeXY(e:MouseEvent):void
                {
                        this.x = mouseX;
                        this.y =mouseY;
                }
 
 
        }
}


КорДум 10.05.2010 23:05

Код AS3:

stage.mouseX
stage.mouseY


nOobCrafter 10.05.2010 23:13

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

dima_s 10.05.2010 23:23

Исправил. Теперь координаты определяются правильно. Но код по прежнему работает не так как задумано.

КорДум 10.05.2010 23:29

Что не так? Я так понял, вы делаете вот так:
нажал на клип, стартанул слушатель MOUSE_MOVE. Отпустил кнопку мыши - слушательно удалился. Всего три слушателя. Так?

dima_s 10.05.2010 23:38

Просто слушатель воспринимает события над клипом, а не над экраном. Как исправить?

udaaff 10.05.2010 23:39

MOUSE_MOVE не глобальное событие. Клипу своему задайте mouseEnabled = false. А на MOUSE_MOVE stage подпишите.

dima_s 10.05.2010 23:45

Все исправил. Спасибо за помощь.
И еще один вопрос.
Как из этого же класса курсор мыши убрать?

udaaff 10.05.2010 23:46

Mouse.hide()

dima_s 10.05.2010 23:58

Все работает отлично. Большое спасибо.


Часовой пояс GMT +4, время: 00:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.