![]() |
Реагирование на столкновения
Добрый вечер.
Вот думаю как реализовать такую тему: На рабочем поле есть разросанные мувики. Нужно сделать их перетаскивание. Но если мувик приближается к другим то те должны рассталкиваться. Даже не задевая если мувик подтащить к другому, то тот должен отодвинуться. Есть идеи? |
Нефик делать, реализуй систему в которой есть трение и сила расталкивания, которая обратно пропорциональна расстоянию между фигурами. Формулы прочти в учебнике физики за девятый класс.
|
спасибо, но дело не в формулах, интересует просто сама реализация во флэше. Сделать через рекурсию чтоли от мувика к мувику или как?
|
я бы так сделал:
- каждый мувик обладает силой отталкивания - сила отталкивания направлена во все стороны и обратно пропорциональна расстоянию в N-ной степени - каждый кадр (onEnterFrame) считаем расстояния между мувиками (проходимся по массиву) - получаем для каждого мувика суммарный вектор сил, действующих на него со стороны соседей - получаем новые координаты, в которых и отрисовываются мувики в следующем кадре ЗЫ физика - это круто =) |
onEnterFrame-то зачем? onMouseMove вроде меньше тепла выделяет, тем более только при драге.
|
за тем, чтобы мувики разбегались и плавно останавливались
|
Угу. Т.е. на движение мыши вычисляем координаты куда мувикам бежать и на их онЕнтерФрейм делаем им движение. И по достижении цели каждый онЕнтерФрейм сам себя удаляет. Это другое дело)) А так я сижу пялюсь в монитор, а проц наяривает пересчет координат неподвижных мувиков 30 раз в секунду. Скажем, в фаерфоксе у меня половина вкладок зависнет))))))
|
ну... не по достижении цели, а когда скорость будет равна нулю
Цитата:
|
Ребята спасибо. но это все детали,
Вот просто сижу засыпаю,не могу сообразить как сам принцип определить в какую сторону отлетать мувикам. просто элементарно опишите процесс столкновения и рекции плиз |
да мне самому интересно стало=)
постараюсь закончить исходник седня-завтра |
| Часовой пояс GMT +4, время: 16:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.