
23.11.2011, 18:12
|
|
Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
|
Я вижу как мне кажется более простой метод, основанный скорее на математике, чем на физике:
Смотрим приложенную картинку:
Герой - синий круг с центром в точке А.
Враг - красный круг с центром в точке В.
Курсор - в точке С.
Моя идея такова - при столкновении двух обьектов - герой начинает двигаться вместо линейной траектории - по круговой траектории (штриховая красная линия на рисунке) до тех пор пока отрезок AC пересекает эту штриховую линию в 2-х точках (А и А'). Как только точки А и А' сойдутся в одну (точка D) - герой переходит опять на линейную траекторию.
Тут соответственно встают следующие вопросы:
1. Как идея вообще? Может я не учел какие-то нюансы?
2. Подскажите уравнение движения по окружности (эллипсу), желательно не математическое, а скриптовое (математическое я знаю, но не совсем понимаю как из него правильно получить нужное)
3. В случае, если курсор находится в позиции C' - я так понимаю есть смысл переносить цель, к которой стремится герой - в точку А'.
Может кто-то сможет попытаться накидать общий алгоритм такого линейно-нелинейного движения, как -то пока у меня не очень укладывается как все это обьединить в кучу.
|