IPB

Здравствуйте, гость ( Вход | Регистрация )

> Простой код почему-то не работает. Помогите пожалуйста
MakTpaxep
сообщение 30.10.2010 - 20:25
Сообщение #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 по клику мыши цепляется и никогда уже не отпускает мышь. А хотелось бы чтобы отпускал.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов (1 - 2)
MakTpaxep
сообщение 30.10.2010 - 20:49
Сообщение #2


Новичок
*

Группа: Пользователь
Сообщений: 15
Регистрация: 19.10.2010
Пользователь №: 10138



Всё разобрался - мышь просто привязывалась как-бы к левому верхнему углу, когда начиналось движение.
Btn.x= mouseX-Btn.width/2;
Btn.y= mouseY-Btn.height/2;
Вот это заработало. Так в самом деле довольно красиво перетаскивает.

Подскажите пожалуйста как сделать чтобы мышь оставалась в той же точке на объекте когда начинаешь тащить

Сообщение отредактировал MakTpaxep - 30.10.2010 - 20:51
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
tiHo
сообщение 30.10.2010 - 22:28
Сообщение #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);
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 5.11.2010 - 05:05