|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 5
|
Нужен исходник эффекта или помощь в создании оного
Нужен исходник эффекта прилипания объекта к курсору мыши при наведении на него и при отведении он отрывался при некотором натяжении по направлению движения курсора. Возможен вариант, что объект кнопка. Эффект реализован на mjau-mjau.com, хочется получить приблизительно похожий результат.
Я дизайнер и у меня, к сожалению, не совсем программерский склад ума. Поэтому обращаюсь за помощью. Проект, в котором хочу использовать эффект, не коммерческий, но обещаю поставить копирайт в титрах. Так же буду весьма благодарен, если хотя бы покажите направление, в каком копать. Всем спасибо! |
|
|||||
Примерно так:
_root.followmouse = 0; absx = btn2._x; absy = btn2._y; mc.onMouseMove = function () { if (_root.followmouse == 1) { diffx = _xmouse - absx; speedx = diffx / 550; btn2._x += speedx * 4; diffy = _ymouse - absy; speedy = diffy / 400; btn2._y += speedy * 4; if (Math.abs(speedx) + Math.abs(speedy) > 0.5) { _root.followmouse = 0; btn2._x = absx; btn2._y = absy; } } } btn2.onRollOver = function() { _root.followmouse = 1; } |
|
|||||
Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 5
|
Что делаю не так?
|
|
|||||
mc.onMouseMove = function () {
mc - должен быть объект MovieClip, в пределах которого квадрат должен ползать по экрану за мышой. Если надо, сделай пустой мувик на все рабочее поле флэшки.
__________________
Тут вы найдете ответы на почти все вопросы: А можно ли сделать так ? - Можно. Почему не работает ? - Неправильно сделано. Где ошибка ? - В ДНК. |
|
|||||
Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 5
|
Круто!!!
Заработало) |
|
|||||
Ну а математику перемещения сам придумывай, я так мыслю что для красивости надо делать функцию вида (для одной координаты, вторая аналогично) :
//все это не проверялось, так что использование на свой страх и риск. 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;
__________________
Тут вы найдете ответы на почти все вопросы: А можно ли сделать так ? - Можно. Почему не работает ? - Неправильно сделано. Где ошибка ? - В ДНК. |
|
|||||
Регистрация: Nov 2005
Адрес: Иркутск
Сообщений: 5
|
Сейчас опробуем)
|
Часовой пояс GMT +4, время: 07:38. |
|
« Предыдущая тема | Следующая тема » |
|
|