Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отловить пересечение объектов, многоугольной формы 
:(
    Опции темы
quiz
Дата 14.1.2008, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 15.8.2005

Репутация: нет
Всего: нет



Пытаюсь сделать что-то наподобии небольшой изометрической РПГ. Для определения пересечений человека с предметом, нужно очертить основание предмета и основание у ног человека.
Подскажите, пожалуйста, какой способ использовать для определения этих двух фигур (на ум приходит только IMG map, там можно задавать любые многоугольники) и как потом отловить их пересечения.

Илюстрацию того, как я это вижу, прикрепил

Спасибо!

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  collision.jpg 88,34 Kb
PM MAIL   Вверх
quiz
Дата 15.1.2008, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 15.8.2005

Репутация: нет
Всего: нет



решил с помощью системы координат и кучи циклов
PM MAIL   Вверх
vasac
Дата 15.1.2008, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Почему бы на карте не отмечать что лежит в конкретной клетке.
При вхождении же человека в неё, смотреть что там есть?
PM WWW   Вверх
rcdimon
Дата 16.1.2008, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



покажи как решил.... зачем там циклы?
PM MAIL ICQ   Вверх
quiz
Дата 16.1.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 15.8.2005

Репутация: нет
Всего: нет



Цитата(vasac @ 15.1.2008,  22:43)
Почему бы на карте не отмечать что лежит в конкретной клетке.
При вхождении же человека в неё, смотреть что там есть?

Отмечать что лежит в каждом пикселе? Оригинально, ничего не скажешь smile

Добавлено @ 19:15
Цитата(rcdimon @ 16.1.2008,  17:50)
покажи как решил.... зачем там циклы?

Решил с помощью функицй, взятых отсюда http://www.kevlindev.com/gui/math/intersection/

Если вы мне расскажите, как высчитывать пересечения между сотнями полигонов без циклов - буду признателен

Это сообщение отредактировал(а) quiz - 16.1.2008, 19:15
PM MAIL   Вверх
vasac
Дата 16.1.2008, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



quiz, а вам важно позиционирование с точностью до пикселя? В большинстве случаев делят карту на квадраты.
PM WWW   Вверх
quiz
Дата 17.1.2008, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 15.8.2005

Репутация: нет
Всего: нет



Цитата(vasac @ 16.1.2008,  20:58)
quiz, а вам важно позиционирование с точностью до пикселя? В большинстве случаев делят карту на квадраты.

да
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0957 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.