Главная страница
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.022 c
15-1181043121
@!!ex_
2007-06-05 15:32
2007.07.08
Web Camera + TV


3-1175791322
Kley
2007-04-05 20:42
2007.07.08
Фильтрация при открытии формы


1-1178398089
AbrosimovA
2007-05-06 00:48
2007.07.08
Возможно-ли отследить исчезновение PopupMenu


2-1182062398
..::KraN::..
2007-06-17 10:39
2007.07.08
Как узнать букву диска?


1-1178710981
yaJohn
2007-05-09 15:43
2007.07.08
передача строк между Delphi и C#