Перетаскивание элемента системы кости во Flash - PullRequest
0 голосов
/ 20 июля 2010

Я думал, что у меня есть действительно простая задача: создать аналоговые часы, где ученик мог бы устанавливать время, перемещая ручки часов и минут.

Ну, все это работает до определенного момента ... Я создал систему костей, чтобы обе базы рукояток оставались в центре часов, пока рукоятки перетаскиваются. Проблема заключается в том, что я не могу ограничить движение пользователя в пределах «досягаемости» каждого дескриптора (или есть ли?), И если мышь оказывается вне перетаскиваемого дескриптора в точке отбрасывания, событие MOUSE_UP не срабатывает.

Я также искал событие MovieClipModified, которое в этом случае могло бы творить чудеса, но я не смог его найти ...

Есть ли способ выбраться из этого?

ТИА

1 Ответ

3 голосов
/ 20 июля 2010

Вы можете воспользоваться такими событиями, как эта.

handle.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
handle.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
private function onMouseDown(e:mouseEvent):void {
  stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); //if mouse is out of drag handle then this will still keep track of mouse up event
  //do the dragging
}

private function onMouseUp(e:mouseEvent):void {
  //handle mouse up for the handle
  stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...