![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 19
|
Приветствую.
Итак, простой hitTest чуууть не устраивает по той причине, что если объекты даже лишь коснутся друг друга, он уже сработает. Проверка по мере приближения к x и y объекта, тоже не вариант, так как объект с которым возможно столкновение может быть вытянутым. Если попытаться сформулировать с точки зрения программинга, то идельным было бы решение - коллизить объекты по их "графическому объёму" минус несколько пикселей.В общем, ищу не конкретного решения так как ничего толком и не описал, а скоре идей - как коллизить объекты, чтобы было и изящно(! - меньше вычислений) и удовлетворяло бы потребностям ![]() |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Использовать BitmapData.
Когда на сцене появляется объект, с которым возможно столкновение, создавать BitmapData с копией этого объекта (методом BitmapData.draw()). Потом, например, BitmapDat`у сделать оттенками серого и размыть фильтром. А когда считать столкновения — брать значение цвета пикселя у картинки и по этому значению определять столкновение. Я проиллюстрирую идею: То, как должно происходить столкновение: 1. Создаем BitmapData с прозрачным фоном и убираем насыщенность и контраст. 2. Применяем блюр с параметрами размытия аналогичными тому, насколько другой объект может "въехать" в этот. 3. Когда необходим расчет столкновения, берем значение цвета пикселя у BitmapData c теми же координатами, что и у объекта, который сталкивается. Вот как-то так. В принципе, для всех объектов, которые могут сталкиваться, можно создавать свойство с их BitmapData. И производить расчет "глубины" столкновения только когда hitTest() вернет true, то есть объекты габаритно пересекутся. За оптимальность и изящность такого метода не ручаюсь, сам такое не пробовал, но, думаю, работать должно.
__________________
hauts.ru Последний раз редактировалось Hauts; 30.01.2010 в 17:29. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 19
|
ага, попробую.
Пока придумал вот что... (просьба громко не смеятся )аттачить к клипам невидимые клипы, но меньше и их-то и коллизить. вроде работает... хм... пока но что-то подсказывает, что должно быть какое-то более изысканное решение. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 19
|
О, спасибо за ресурс и ссылку !
|
![]() |
![]() |
Часовой пояс GMT +4, время: 06:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|