09.11.2005, 13:00
|
|
Регистрация: Oct 2005
Адрес: Млечный Путь, 7-й рукав, YD AC-451, 3-я планета.
Сообщений: 996
|
Ну а математику перемещения сам придумывай, я так мыслю что для красивости надо делать функцию вида (для одной координаты, вторая аналогично) :
//все это не проверялось, так что использование на свой страх и риск.
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;
__________________
Тут вы найдете ответы на почти все вопросы:
А можно ли сделать так ? - Можно.
Почему не работает ? - Неправильно сделано.
Где ошибка ? - В ДНК.
|