Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Реагирование на столкновения (http://www.flasher.ru/forum/showthread.php?t=119476)

Haiat 21.12.2008 22:35

Реагирование на столкновения
 
Добрый вечер.

Вот думаю как реализовать такую тему:

На рабочем поле есть разросанные мувики. Нужно сделать их перетаскивание. Но если мувик приближается к другим то те должны рассталкиваться. Даже не задевая если мувик подтащить к другому, то тот должен отодвинуться.

Есть идеи?

VovkaMorkovka1 21.12.2008 23:37

Нефик делать, реализуй систему в которой есть трение и сила расталкивания, которая обратно пропорциональна расстоянию между фигурами. Формулы прочти в учебнике физики за девятый класс.

Haiat 22.12.2008 00:01

спасибо, но дело не в формулах, интересует просто сама реализация во флэше. Сделать через рекурсию чтоли от мувика к мувику или как?

gloomyBrain 22.12.2008 00:11

я бы так сделал:
- каждый мувик обладает силой отталкивания
- сила отталкивания направлена во все стороны и обратно пропорциональна расстоянию в N-ной степени
- каждый кадр (onEnterFrame) считаем расстояния между мувиками (проходимся по массиву)
- получаем для каждого мувика суммарный вектор сил, действующих на него со стороны соседей
- получаем новые координаты, в которых и отрисовываются мувики в следующем кадре

ЗЫ
физика - это круто =)

Wolsh 22.12.2008 00:20

onEnterFrame-то зачем? onMouseMove вроде меньше тепла выделяет, тем более только при драге.

gloomyBrain 22.12.2008 00:24

за тем, чтобы мувики разбегались и плавно останавливались

Wolsh 22.12.2008 01:12

Угу. Т.е. на движение мыши вычисляем координаты куда мувикам бежать и на их онЕнтерФрейм делаем им движение. И по достижении цели каждый онЕнтерФрейм сам себя удаляет. Это другое дело)) А так я сижу пялюсь в монитор, а проц наяривает пересчет координат неподвижных мувиков 30 раз в секунду. Скажем, в фаерфоксе у меня половина вкладок зависнет))))))

gloomyBrain 22.12.2008 01:22

ну... не по достижении цели, а когда скорость будет равна нулю
Цитата:

Скажем, в фаерфоксе у меня половина вкладок зависнет))))))
Юзайте Хром =))

Haiat 22.12.2008 01:45

Ребята спасибо. но это все детали,
Вот просто сижу засыпаю,не могу сообразить как сам принцип определить в какую сторону отлетать мувикам. просто элементарно опишите процесс столкновения и рекции плиз

gloomyBrain 22.12.2008 02:14

да мне самому интересно стало=)
постараюсь закончить исходник седня-завтра


Часовой пояс GMT +4, время: 16:59.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.