Главная страница
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.023 c
6-1165749827
DriveR_F
2006-12-10 14:23
2007.07.08
Indy и JavaScript


15-1181235837
Interior
2007-06-07 21:03
2007.07.08
Умер ноутбук но винт живой


15-1180951393
rolex
2007-06-04 14:03
2007.07.08
ошибка tcp


2-1181973389
Kolan
2007-06-16 09:56
2007.07.08
Сообщение TStringGrid что закончили редактировать ячейку, есть?


15-1181036368
MVGROB
2007-06-05 13:39
2007.07.08
гаспада, мнебы програмера в москве 40000-55000р, срочно. если ест