![]() |
Функция по пересечению MovieClip-ов
Возникла еще одна проблема. Есть два MovieClip-ы (mc1 и mc2), когда они пересекаются выполнятся функция, а когда нет то функция, естественно, выполнятся не должна.
Но она выполняется) Помогите. Код AS3:
|
hitTestObject проверяет на столкновение не обьекты, а их bounding box'ы.
Универсальной функции, проверяющей на столкновение именно обьекты - нет. |
Тогда как лучше сделать, чтобы все работало?
|
Ещё раз - универсальной функции нет. Универсальная, наверное, это попиксельное сравнение (а перед тем растеризация) - это долго.
Можно выделить несколько точек для одного обьекта, таких, что если обьекты пересекаются, то наверняка эти точки на другом обьекте, проверять при помощи hitTestPoint. Можно представить обьекты в виде треугольников или других примитивов и проверять в box2d (или ещё как) их на столкновение. Короче надо смотреть, что за обьекты, какая нужна точность и др. |
Сделать массив hitTestPoint'ов, расставить их по периметру картинки которая проверяется на столкновения, и проверять этот массив на столкновение с вашим мувиклипом. Примеры по моему в инете были.
|
Ничего толкового в инете найти не могу. Может плохо ищу... Но все же может кто знает какой не будь пример, помогите, дайте ссилку. А я пока еще пороюсь.
|
|
Если памяти не жалко и объекты не большие, можно отрисовать один объект в битмапу одним цветом - второй другим и с блендом и найти в битмапе зону со смешанным цветом. Если эта зона есть - объекты пересеклись, если нету - не пересеклись.
|
Наиболее заинтересовал способ который предложил crazyone.
Вот только можно чуть подробнее о том, как его реализовать? А то я слабо понял. Заранее благодарен. Немного уточню. У меня сразу же возникло два глупые вопросы: 1. Что такое битмапа? 2. Что такое блендер? |
Может, так.
Цитата:
Цитата:
removeEventListener(Event.ENTER_FRAME., frameList) |
| Часовой пояс GMT +4, время: 10:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.