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

Вниз

Определение в DelphiX спрайта по которому был сделан клик   Найти похожие ветки 

 
Arkano   (2006-08-16 18:07) [0]

Учусь работать в DelphiX.
Есть множество одинаковых спрайтов - плоскость на которой сеткой расположены шестигранники-спрайты.
Нужно определить номер спрайта по которому был произведен клик.
Как это сделать, подскажите.


 
Bogdan1024 ©   (2006-08-16 18:25) [1]

У спрайтов нету метода, который говорил бы по какому спрайту ты кликнул потому что ты кликаешь не по спрайтам, а по поверхности. Используй алгебру.


 
tButton ©   (2006-08-16 18:47) [2]

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

но я в эту байду углубляться не стал
поэтому подробнее рассказать не могу
смотрите примеры


 
Arkano   (2006-08-16 18:55) [3]

Не хотелось бы с алгеброй мутить... :(
Про свойство PixelCheck я в курсе, но от него не жарко не холодно.
Это же всего лишь свойство. Оно скорее служит для проверки столкновений попиксельно или упрощенно. А требуется же узнать "столкновение" с курсором. Хотя как вариант под курсор засунуть еще один спрайт и двигать его вместе с курсором и тогда уже проверять столкновения. Но и это не совсем то, ведь номер спрайта из этого кажется нельзя узнать...


 
tButton ©   (2006-08-16 19:02) [4]

была такая проблема, отпала вместе с дельфиХ
ровно тоже самое требовалось, до реализации не дошло
но замысел был примерно такой же. поместить в позиции hotspot курсора
однопиксельный спрайт и проверять коллизию.


 
Нуб   (2006-08-16 22:39) [5]

Пиксель-чек непашет когда спрайты анимируются (вернее ОЧЕНЬ плохо работает). Просто сделай спрайт 1*1 пиксель, который будет прикреплен к координатам указателя мышки. А потом проверяй в Colission, с каким спрайтом он сталкивается при условии что на DXDraw зажата кнопка мышки.


 
Нуб   (2006-08-16 22:39) [6]

Ой, незаметил тут такое же написали сорри :)



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
11-1164605756
StormA
2006-11-27 08:35
2007.07.08
RE_Text (RichEdit)


15-1181225632
Interior
2007-06-07 18:13
2007.07.08
Пакет легализации пиратского ПО


2-1181655463
Riply
2007-06-12 17:37
2007.07.08
Анализ Boot-сектора флоппика.


2-1181561995
Новичек
2007-06-11 15:39
2007.07.08
Undeclared identifier: Null


2-1181666274
Евгений Р.
2007-06-12 20:37
2007.07.08
Отправка письма с вложением