MakTpaxep
30.10.2010 - 20:25
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 по клику мыши цепляется и никогда уже не отпускает мышь. А хотелось бы чтобы отпускал.
MakTpaxep
30.10.2010 - 20:49
Всё разобрался - мышь просто привязывалась как-бы к левому верхнему углу, когда начиналось движение.
Btn.x= mouseX-Btn.width/2;
Btn.y= mouseY-Btn.height/2;
Вот это заработало. Так в самом деле довольно красиво перетаскивает.
Подскажите пожалуйста как сделать чтобы мышь оставалась в той же точке на объекте когда начинаешь тащить
попробуй вместо ф-ции
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);