Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.20;
Скачать: CL | DM;

Вниз

Collusion Detection на ID3DXSprite   Найти похожие ветки 

 
ElectriC ©   (2007-09-15 19:16) [0]

Есть спрайт с прозрачностью(т.б. с альфа-каналом) в некоторых местах.
Как узнать, находится ли точка на прозрачной(альфа-канале) области спрайта?
P.S. Если такое возможно на ID3DXSprite.


 
Megabyte-ceercop ©   (2007-09-18 08:28) [1]

Действительно ли необходима такая коллизия? Если это для того чтобы мышкой перетаскивать объект, достаточно проверять попадание в окружность по центру объекта. Это даже удобнее в большинстве случаев.

Если нужна попиксельная коллизия, то придется делать вручную, через свой бэкбуфер альфы.


 
PixelShader ©   (2007-09-18 15:12) [2]

Megabyte-ceercop
+1
Проверка через свой бэкбуффер может еще усложнится тем, что спрайт может быть повернут, смасштабирован, иметь покадровую анимацию и тд.

Потому если этот возможно, лучше использовать коллижн  окружностей\прямоугольников. Будет быстрее и проще в реализации.


 
ElectriC ©   (2007-09-18 19:47) [3]

Просто я вывожу GUI с помощью ID3DXSprite (Кстати это нормально - т.б. быстро ли?).
P.S. Как проверить попадание точки в прямоугольник с округлыми краями?


 
megabyte-Ceercop ©   (2007-09-19 11:58) [4]

Сделай окружность с ней проще всего, не придется учитывать поворот.
Я сам вообще использую прямоугольник без учета поворота спрайта.
по такой формуле
if ((Abs(Xobj - Xmouse) < Wobj/3) && (Abs(Yobj - Ymouse) < Hobj/3) )
then  коллизия есть.

Wobj, Hobj - ширина и высота объекта соотв.  Делиться должно на 2, если объект ровно прямоугольный, но если его края рваные и неправильные, то делим на 3, чтобы заузить тело колизии.


 
ElectriC ©   (2007-09-19 15:08) [5]


> megabyte-Ceercop ©

Спасибо.
P.S. Правильно ли выводить GUI с помощью ID3DXSprite?



Страницы: 1 вся ветка

Текущий архив: 2011.11.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.007 c
6-1245011712
batya15
2009-06-15 00:35
2011.11.20
Работа с http без компонентов


2-1311757172
SQLEXPRESS
2011-07-27 12:59
2011.11.20
Работать с Word, не через буфер обмена


3-1266392510
Layner9
2010-02-17 10:41
2011.11.20
TPopupDataGridEh > DBLookupComboboxEh


2-1311930662
From4pda
2011-07-29 13:11
2011.11.20
копирование файлов


3-1266498498
Den
2010-02-18 16:08
2011.11.20
Буквы Е и Ё. Контекстный поиск