Этот вопрос уже поднимался, - как щелкать мышью по фигурам в openGL и определять по какой мы щелкнули (событие). Вот нашел на этот счет статью, о функции позволяющей это сделать:
http://www.gamedev.ru/code/forum/?id=65561
Называется GluUnproject. Как на ее основе создать компонент с данной функциональностью?
Вот выкладываю пример из книги Краснова для дельфи (там архив rar) с кодом:
code_1652.txt
Этот топик читают: Гость
Ответов: 1297
Рейтинг: 47
|
|||
карма: 3 |
| ||
файлы: 1 | code_1652.txt [6.1KB] [540] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
кажись в том же топике был дан ответ, что данная ф-ция является частью надстройки OpenGL из билиотеки GLU, которая отсутствует в пакете HiAsm.
|
|||
карма: 27 |
|
Ответов: 1297
Рейтинг: 47
|
|||
Значит, очень сложно добавить ее в Hiasm? Придется переписывать Кол? А жаль, очень нужная функция.. Не хочется дельфи устанавливать...
[size=-2]------ Добавлено в 16:55 Связь экранных координат с пространственными
При создании приложений типа редакторов и модельеров проблема связи оконных координат с пространственными становится весьма важной Недостаточно выбрать объект или элемент на экране, необходимо соотнести перемещения указателя мыши с перемещением объекта в пространстве или изменением его размеров. Один из часто задаваемых вопросов звучит так. "Какой точке в пространстве соответствует точка на экране с координатами, например, 100 и 50?" Ответить на такой вопрос однозначно невозможно, ведь если на экране присутствует проекция области пространства, то под курсором в любой точке окна находится проекция бесконечного числа точек пространства Однако ответ станет более определенным, если имеется в виду, что под курсором не пусто, есть объект. В этом случае, конечно, содержимому соответствующего пиксела соответствует лишь одна точка в пространстве. Для решения несложных задач по переводу координат можно воспользоваться готовой командой библиотеки glu gluUnProject, переводящей оконные координаты в пространственные координаты Пример из подкаталога Ex20 поможет нам разобраться с этой командой В нем рисуется куб, при щелчке кнопки выводится информация о соответствующих мировых координатах (рис. 6.10). [size=-2]------ Добавлено в 17:25 Нашел простейший способ решения этой задачи средствами Хиасм, но не удовлетворительный, все же: Выбор элементов
Задача выбора определенных элементов на экране является очень распространенной для многих интерактивных приложений, поэтому достойна подробного рассмотрения. Решений ее несколько. Одно из самых простых состоит в том, что элементы раскрашиваются в уникальные цвета, и для выбора элемента просто определяется цвет пиксела в нужной точке. Рассмотрим проект из подкаталога Ex01. Это плоскостная картинка, содержащая изображения двух треугольников: красного и синего. При нажатии кнопки мыши определяем цвет пиксела под курсором и выделяем его составляющие, по которым вычисляем выбранный элемент. |
|||
карма: 3 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Aziz писал(а): Значит, очень сложно добавить ее в Hiasm? не сложно. достаточно найте её реализацию |
|||
карма: 27 |
|
Ответов: 1297
Рейтинг: 47
|
|||
Dilma писал(а): не сложно. достаточно найте её реализацию |
|||
карма: 3 |
|
5