Показать сообщение отдельно
Старый 09.11.2005, 13:00
Skubent вне форума Посмотреть профиль Отправить личное сообщение для Skubent Посетить домашнюю страницу Skubent Найти все сообщения от Skubent
  № 6  
Ответить с цитированием
Skubent
 
Аватар для Skubent

Регистрация: Oct 2005
Адрес: Млечный Путь, 7-й рукав, YD AC-451, 3-я планета.
Сообщений: 996
Отправить сообщение для Skubent с помощью ICQ
Ну а математику перемещения сам придумывай, я так мыслю что для красивости надо делать функцию вида (для одной координаты, вторая аналогично) :
//все это не проверялось, так что использование на свой страх и риск.

dx = _xmouse - btn2._x; //положение мыши относительно объекта
cx = btn2._x - absx; //положение объекта относительно его нормального положения
f1x = Math.abs(dx) > 100 ? dx : 0 ; //если мыша ближе 100 пикселей, то тянем объект за собой, если дальше - то уже хватит.
f2x = Math.abs(cx) < 20 ? 0 : -cx*cx*cx/Math.abs(cx); //если объект "улетел" не дальше 20 пикселей, назад он не стремится, иначе - тянется назад с квадратичной зависимостью (с сохранением знака отклонения, ага)
btn2._x += f1x + f2x;
__________________
Тут вы найдете ответы на почти все вопросы:
А можно ли сделать так ? - Можно.
Почему не работает ? - Неправильно сделано.
Где ошибка ? - В ДНК.