Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.06.2008, 19:46
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 1  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
По умолчанию Как, кроме hitTest-а, можно обнаруживать перекрытия мувиклипов?

существует ли метод проверки перекрытия мувиклипов не по ограничивающим прямоугольникам, а по фактическому содержимому?
ну т.е. hitTest проверяет только ограничивающие прямоугольники (если не рассматривать вариант поточечного хит-тестирования), поэтому, если там две окружности в мувиклипах, то может возникнуть случай, что они друг на друга не накладываются, а хитТест, говорит об обратном, т.к. накладываются ограничивающие прямоугольники.

Понятно, что про окружности - это только пример и можно мерить их радиусы и расстояние между центрами, но как быть, если это, например, звездочки или другие сложные фигуры? тут уже математическими методами так просто не замерить...

2Модератор: Не знаю как еще правильно сформулировать вопрос, чтобы тему не закрыли.

Старый 12.06.2008, 19:56
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 2  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
можно BitmapData-ой, только будет ресурсоемко, можно на края звездочки повесить мувиклипы в один пиксель и хитТест поверять с ними
__________________
: M F N W :

Старый 12.06.2008, 20:24
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 3  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Сложными - но они того стоят (вспомни N)
Перевод от Нокса Нокитса:
http://noregret.org/tutor/n/collision/

Старый 12.06.2008, 20:33
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 4  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
hitTest кстати позволяет определить пересечение объекта и точки.
Может существует возможность принять второй объект за точку?
Это хорошо подходит в случае мишени и пули.

Старый 12.06.2008, 20:45
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 5  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Ага, а ещё можно делать так:
Идем от вершины мувиклипа до его конца по каждому _х.
Нашли пересечение - добавляем точку в массив.
Аналогично снизу вверх, слева-направо,справа-налево.
После проверяем все точки, что в масиве на пересечение с другим мувиклипом.
Можно обойтись и без масива, это для наглядности сдесь вставил)

Старый 13.06.2008, 00:38
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 6  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Цитата:
Сообщение от Роман Вадимович Посмотреть сообщение
hitTest кстати позволяет определить пересечение объекта и точки.
Может существует возможность принять второй объект за точку?
Это хорошо подходит в случае мишени и пули.
я это упомянул в вопросе..))
Цитата:
hitTest проверяет только ограничивающие прямоугольники (если не рассматривать вариант поточечного хит-тестирования)
Цитата:
Сообщение от Fernando Costa Посмотреть сообщение
можно на края звездочки повесить мувиклипы в один пиксель и хитТест поверять с ними
звездочка - это всего-лишь пример, а как быть, если фигуры трансформируются во времени?

Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Ага, а ещё можно делать так:
Идем от вершины мувиклипа до его конца по каждому _х.
Нашли пересечение - добавляем точку в массив.
Аналогично снизу вверх, слева-направо,справа-налево.
После проверяем все точки, что в масиве на пересечение с другим мувиклипом.
Можно обойтись и без масива, это для наглядности сдесь вставил)

это сколько же точек получится?..)) комп умрет на проверке всех точек..))


Последний раз редактировалось iNils; 13.06.2008 в 03:24.
Старый 13.06.2008, 14:15
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Когда то кто то делал на ас1 подобное, 1 фигурка таскается, другая не подвижная. Не тормозило. Не обязательно ведь сдвигаться на 1 пискель, можно сразу на 5

Старый 13.06.2008, 22:55
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 8  
Ответить с цитированием
orcpochta

Регистрация: Feb 2008
Сообщений: 890
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Когда то кто то делал на ас1 подобное, 1 фигурка таскается, другая не подвижная. Не тормозило. Не обязательно ведь сдвигаться на 1 пискель, можно сразу на 5
можно оптимизировать: включать проверку поточечно только в том случае, если произошло перекрытие ограничавающих прямоугольников.
еще можно придумать алгоритм очередности этих точек на проверку каким-нубудь делением пополам..))

Старый 15.06.2008, 10:55
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 9  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Я и говорю - простор для полета воображения
В итоге можно получить достаточно быстродейственный алгоритм перекрытия 2 совершенно произвольных фигур.
Кстати, в принципе любую фигуру можно описать кривыми безье, Иван Дембицкий как раз пишет класс для этого.

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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