![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователь Сообщений: 15 Регистрация: 19.10.2010 Пользователь №: 10138 ![]() |
import flash.events.MouseEvent;
Btn.addEventListener(MouseEvent.MOUSE_DOWN, pickup); Btn.addEventListener(MouseEvent.MOUSE_UP, place); function pickup(e:MouseEvent):void { stage.addEventListener(MouseEvent.MOUSE_MOVE, changeXY); } function place(e:MouseEvent):void { stage.removeEventListener(MouseEvent.MOUSE_MOVE, changeXY); } function changeXY (e:MouseEvent):void { Btn.x= mouseX; Btn.y= mouseY; e.updateAfterEvent(); } Тот самый объект Btn по клику мыши цепляется и никогда уже не отпускает мышь. А хотелось бы чтобы отпускал. |
|
|
![]() |
![]()
Сообщение
#2
|
|
Новичок ![]() Группа: Пользователь Сообщений: 15 Регистрация: 19.10.2010 Пользователь №: 10138 ![]() |
Всё разобрался - мышь просто привязывалась как-бы к левому верхнему углу, когда начиналось движение.
Btn.x= mouseX-Btn.width/2; Btn.y= mouseY-Btn.height/2; Вот это заработало. Так в самом деле довольно красиво перетаскивает. Подскажите пожалуйста как сделать чтобы мышь оставалась в той же точке на объекте когда начинаешь тащить Сообщение отредактировал MakTpaxep - 30.10.2010 - 20:51 |
|
|
![]()
Сообщение
#3
|
|
![]() тихо-хо :) ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1467 Регистрация: 10.04.2006 Из: Млечный Путь, 3-я планета от Солнца, Россия, Москва, Люблино. Пользователь №: 293 ![]() |
попробуй вместо ф-ции changeXY использовать стандартную startDrag()
Как простой вариант: Код function drag(event:Event):void
{ Btn.startDrag(); } function drop(event:Event):void { Btn.stopDrag(); } Btn.addEventListener(MouseEvent.MOUSE_DOWN, drag); Btn.addEventListener(MouseEvent.MOUSE_UP, drop); |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 5.11.2010 - 05:05 |