Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Проверка нажатия мыши

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

ZryndinПостоялецwww5 ноя. 200317:27#0
Подскажите как можно рационально определять в изометрическом движке на
какой объект пользователь навел мышь или клацнул.
в данный момент я перевожу мышиные экранные координаты в изометрические
а по ним уж и вычисляю какой объект под курсором, маленько неудобно при разных высотах ландшафта.
можно еще хранить подобие Z-буфера но не с глубиной а с идентификатором объекта, да
только геморройно это...
elmortemПостоялецwww2 дек. 200315:50#1
Можно сдалать так:
1. При выводе объекта на экран, проверяешь, попадают ли координаты курсора в прямоугольную область выводимого спрайта.
2. Если попадают:
  2.1. Если тебе не нужна большая точность, то 3.
  2.2. Иначе считывай с поверхности тайла цвет пиксела, куда попадает курсор
  2.2.1 Если НЕ прозрачный цвет поверхности, то 3.
3. Записываем id-объект в переменную

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

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

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

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

2001—2018 © GameDev.ru — Разработка игр