![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2006
Сообщений: 2
|
Доброе время суток, уважаемые флэшеры!
Как сделать так, чтоб при соприкосновении курсора с объектом, объект отталкивался от курсора и двигался в противоположном от курсора направлении. У самого меня получилось вот что: // определяем коэффициент замедления
onClipEvent(load){
delay = .9;
}
//сообщаем объекту начальную скорость
on(rollOver){
xSpeed=5;
ySpeed=5;
}
onClipEvent (enterFrame) {
// реализация замедления
if (xSpeed<>0){
xSpeed*=delay;
ySpeed*=delay;
_x+=xSpeed;
_y-=ySpeed;
}
// условие полной остановки
if(xSpeed<.01 and xSpeed<.01){
xSpeed=0;
xSpeed=0;
}
}
Кто нибудь, одскажите пожалуйста! Заранее благодарен. Последний раз редактировалось Antares; 15.02.2006 в 09:23. |
|
|||||
|
Banned
[+1 16.05.2006]
[++1 16.05.2006] [+ 1 21.05.06] [++ за хамство] [+1 21.05.2006] Регистрация: Dec 2003
Сообщений: 3,925
|
Доброе. Пользуйтесь тэгом code в следующий раз, в противном случае листинг будет стерт.
По теме: 1. Определять угол. Math.atan2( _ymouse, _xmouse ) вернет от -Пи до Пи, но не проблема возвращать от 0 до 360 градусов. 2. Умножив на синус и косинус угла модуль скорости получить нужные скорости по осям. |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 149
|
А можно для простых случаев вроде этого применять метод проще - работать не с углами, а непосредственно с векторами. Ниже вариант изменения скорости в зависимости от растояния клика от "registration point" клипа. Следует только добавить проверку на столкновение. Если скорость при столкновении менятся не должна - просто использовать знак дельтаХ или У
Естественно, решение с углами универсально, но очень часто - это лишнее усложнение. |
|
|||||
|
решение с векторами гораздо более универсально на самом деле
|
|
|||||
|
Да нифига подобного.
с углами - стандартное решение физической задачи(нахождение проекций скоростей), а с векторами - изврат.
__________________
(А) |
|
|||||
|
Kyber Anton, в чем изврат?
векторные вычисления позволяют сделать намного больше (там, где дело касается движений и столкновений), чем рассчеты углов, почитай учебник по физике |
|
|||||
|
Цитата:
в первом случае ты 1 ищешь угол 2 рассчитываешь значение 3 раскладываешь получившееся значение на 2 оси (2х мерное пространство) 4 применяешь получившиеся значения для каждой оси. Во втором 1 рассчитываешь значение сразу для каждой оси. 2 Применяешь это для каждой оси осей. Второй способ где-то в 1.5 - 2 раза быстрее %)). Правда 1 й спосоп позволяет свободно поворачивать координаты, но это редко когда приходиться делать%)) |
|
|||||
|
__i, ты это мне разжевываешь?
Последний раз редактировалось Король; 15.02.2006 в 21:57. |
|
|||||
|
обижаешь %))
естественно окружающим не понявшим тебя %)) |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 2
|
Спасибо товарисчи! Этой ниформации больше, чем достаточно. Буду пробовать.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:31. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|