![]() |
Вычислить пересечение двух спрайтов, в которых лежат битмапы с прозрачными областями
Сейчас проверяю пересечение спрайтов hitTestObject'ом, но, поскольку в спрайтах лежат битмапы достаточно причудливой формы, периодически случается авария - hitTestObject дает true, хотя визуально объекты не пересекаются.
Нужно решение в общем виде, поскольку в каждом из двух проверяемых спрайтов может лежать самый разный контент. Несколько битмапдат, мувики и т.д. Первое, что приходит в голову - проверять hitTestObject'ом, а уже если он дал true, проводить уточняющую проверку, катнув их в битмапдату и там уже hitTest'ом, но может есть способ проще? |
По мне так и этот способ не плох. Единственно - в BitmapDat'у я бы рисовал только те части объектов, которые пересекаются (можно получить по описывающим прямоугольникам самих объектов)
|
2mikhailk: Так и делаю, как вы описали...
|
ок.
там утечки памяти, кстати, не получается? подозреваю, надо чистить битмапдаты сразу после использования |
|
Цитата:
|
ну да, dispose
Определить прозрачность под указателем мыши проблем нет. Это немного из другой оперы. |
| Часовой пояс GMT +4, время: 02:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.