![]() |
Объект с траекторией полета огибающей предметы
Почему-то когда создал тему http://flasher.ru/forum/showthread.php?t=94454 модератор ее закрыл из-за несоответствия названия вопросу, сейчас я думаю соответствует.
Повторю вопрос: Нужно сделать такую фишку: Есть объект(точка) Летит слева на право. Мышкой перемещаем предмет и ставим на пути этой точки. Точка должна облететь этот предмет с наибольшей реалистичностью(как пузыри воздуха в воде обходят камни и т.п.) Как можно сделать? Голову ломаю второй месяц:wacko: Было предложение сделать так: Цитата:
|
Цитата:
|
тебе полностью вряд ли кто-то поможет решать такую проблему.
Сам знаю, так что дерзай. Поверь так лучше. :) |
Цитата:
|
Цитата:
Код:
var speed:Number = 5; |
Цитата:
Код:
|
Цитата:
Предлагаю упростить и делать по прямоугольной форме: 1. летит предмет (П1), как летит писал iNils. 2. тащим предмет (П2), как тащим тоже написано. 3. проверем на hitTest П1 П2, как лучше в хелп или поиск 4. потом, пока hitTest идем вверх или вниз 5. как только не hitTest продоолжаем движение прямо |
Если надо "(как пузыри воздуха в воде обходят камни и т.п.)", рекомендую нарисовать траектории движения обтекания камня пузырьками. На бумаге.
Потом отсканировать и/или прорисовать траектории. Потом каждую линию сделать Motion Guide для клипа - шарика. Шарик не забыть назвать. Все должно быть в библиотеке, указать linkage id. Далее, пузырек подплывает к камешку, по формуле iNils'а и в какой-то момент приближается настолько, что пора бы начинать обтекать. Тут вы сохраняете текущие координаты пузырька, Код:
bubble._x0=bubble._x;Код:
var depth = getNextHighestDepth(); |
Можно пачитать насчет алгоритмов расчета координат. Можна даже задать траекторию движения уравнением, в котором по мере необходимости менять кое какие координаты.
В принципе, у объекта и точки есть координаты, и они доступны. Придумываем условие, типа если разность координат х меньше чего та, надо изменить у точки в зависимости от текущего у предмета. Тогда если предмет не на пути точки, пролетаем с минимальным отклонением, на пути, огибаем сверху или снизу - в зависимости от координат центра предмета. Если координата х точки больше х предмета, то надо возвратиться на прежнюю траекторию. Делаем все то же что при приближении, тока наоборот. Форма фигуры не имеет зачения, нас интересует тока положение ее центра, ну и задаем на каком расстоянии точка должна облететь фигуру. ЗЫ: Насчет реалистичности: реалистично всегда значит реально за деньги. |
Всем спасибо за советы! Буду пробовать! Если что-то будет не получаться, обязательно спрашу
|
| Часовой пояс GMT +4, время: 18:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.