Flash Actionscript 3 мыши - PullRequest
       1

Flash Actionscript 3 мыши

1 голос
/ 08 октября 2011

Я использую следующий код для перетаскивания объекта на сцену.Я использую прямоугольник, чтобы ограничить движение объекта только по оси X.Мне нужна мышь, чтобы остановить перетаскивание, когда оно находится за пределами объекта.Режим кнопки выключается, но мышь по-прежнему перетаскивает объект, когда мышь перемещается при нажатии кнопки мыши.Вот код, который я использую:

var rectangle:Rectangle = new Rectangle(-1400, 600, 4500, 0);

stage.addEventListener(MouseEvent.MOUSE_DOWN,mouseStartDrag);
function mouseStartDrag(motion:MouseEvent):void
{
    strip_mc.startDrag(false, rectangle);
}

stage.addEventListener(MouseEvent.MOUSE_UP, mouseStopDrag);
function mouseStopDrag(motion:MouseEvent):void 
{
    strip_mc.stopDrag();
}
strip_mc.buttonMode = true; 

Thanks for any help 

1 Ответ

0 голосов
/ 08 октября 2011

Вы можете определить, находится ли мышь внутри прямоугольника, а если нет, вы можете вызвать strip_mc.stopDrag();

Сначала создайте пустой мувиклип и добавьте в него прямоугольник.

var m:MovieClip = new MovieClip(); 
m.addChild(rectangle);
stage.addChild(m);

Затем сделайте что-то вроде:

m.addEventListener(MouseEvent.MOUSE_OUT, mouseStopDrag);

или

m.addEventListener(MouseEvent.ROLL_OUT, mouseStopDrag);

Затем прослушиватель событий вызовет уже созданный mouseStopDrag, что останавливает перетаскивание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...