Войти
ПрограммированиеФорум2D графика и изометрия

Проверка нажатия мыши

#0
17:27, 5 ноя. 2003

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


#1
15:50, 2 дек. 2003

Можно сдалать так:
1. При выводе объекта на экран, проверяешь, попадают ли координаты курсора в прямоугольную область выводимого спрайта.
2. Если попадают:
  2.1. Если тебе не нужна большая точность, то 3.
  2.2. Иначе считывай с поверхности тайла цвет пиксела, куда попадает курсор
  2.2.1 Если НЕ прозрачный цвет поверхности, то 3.
3. Записываем id-объект в переменную

То есть может получиться так, что выделенных объектов может быт несколько, но только "самый ближний к внутренней части экрана" (к нижней части экрана, если рассматривать как 2D) будет являться выделенным.

По желанию, конечно можно писать все попавшиеся объекты в масив или список, для возможности мультивыделения...

ПрограммированиеФорум2D графика и изометрия

Тема в архиве.