![]() |
у меня в моем текущем приложении будет 5 классов с одним методом...execute
|
ну не везде 3-5... Зато не надо дублировать в др. мувиках... А их м.б. очень много ;) Блин... я вопрос задал :):):)
|
Цитата:
|
Цитата:
|
это констатация факта, ну это паттерн комманда ( статья по команде с примерами на C# )
Удобно использовать когда одно действие нужно делать разными способами, скажем у меня можно добавить пункт меню, комбинацией ctrl+"+", нажав на соответсвующую кнопку, и через контекстное меню. ну и все три способа вызывают один и тот же метод класса Код:
AddItemComman.execute(); |
World Architect
А расстояние мужду розетками одинаково?Если да ,то всё легко, а если нет то пока есть небольшие проколы в алгоритме. Так вот если да: /*алгоритм на основе одномерного пространства(с двумерным также, только с одномерным более точто можно понять-объяснить)*/ Есть прямая на ней через равные промежутки расставленны опорные точки(твои розетки) и есть вилка(ты знаешь её x) Вычисляешь к какой розетке ближе всего находится вилка(если все розетки находятся на одинаковом расстоянии: то q= Math.round(вилка._x/расстояние между вилками) Теперь в q находится порядковый номер ближайшей к нашей вилке розетки. /*Теперь мы знаем возле какой розетки вилка.Если вилка не попадает в радиус этой розетки, то и не попадет в радиус другой(если ты конечно правильно нарисовал рисунок с расположением элементов) Теперь осталось вычислить попадает в радиус найденной нами розетки вилка.Переходим к двухмерному пространству.*/ Для этого легче внутри каждой розетки создать невидимый мув представляющий радиус, а потом зная вилка_x и вилка._y используя hittest() определить принадлежит вилка этому радиусу или нет.(это самый как мне кажется лёгкий способ определить принадлежность вилки к радиусу, но возможно не самый быстрый.Но первая часть алгоритма должна работать намноооооого быстрее просто перебора!) Белая Я не предлогал просто перебора!Ты не правильно меня поняла.Я предлогал перебор между двумя ближайшими розетками!!!!(но как видишь теперь нашёл более выгодный алгоритм). |
используй сетку
Код:
dynamic class HashGrid { |
Хм... это мне нравится :) Только тогда мне надо на координатную сетку сразу все объекты в радиусе 5 точек сажать.... Должно ядерно работать :) Спасибо!
|
Ну на одну точку массив обектов, которые находятся в радиусе пяти (нужных объектов)
|
neelts, плохой код
|
| Часовой пояс GMT +4, время: 23:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.