Вверх ↑
Этот топик читают: Гость
Ответов: 1268
Рейтинг: 47
#1: 2007-07-09 16:10:37 ЛС | профиль | цитата
Этот вопрос уже поднимался, - как щелкать мышью по фигурам в openGL и определять по какой мы щелкнули (событие). Вот нашел на этот счет статью, о функции позволяющей это сделать:

http://www.gamedev.ru/code/forum/?id=65561

Называется GluUnproject. Как на ее основе создать компонент с данной функциональностью?

Вот выкладываю пример из книги Краснова для дельфи (там архив rar) с кодом:

code_1652.txt
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
файлы: 1code_1652.txt [6.1KB] [461]
vip
#1.1контекстная реклама от партнеров
Администрация
Ответов: 15294
Рейтинг: 1518
#2: 2007-07-09 16:44:44 ЛС | профиль | цитата
кажись в том же топике был дан ответ, что данная ф-ция является частью надстройки OpenGL из билиотеки GLU, которая отсутствует в пакете HiAsm.
карма: 26
0
Ответов: 1268
Рейтинг: 47
#3: 2007-07-09 17:25:45 ЛС | профиль | цитата
Значит, очень сложно добавить ее в Hiasm? Придется переписывать Кол? А жаль, очень нужная функция.. Не хочется дельфи устанавливать...

[size=-2]------ Добавлено в 16:55
Связь экранных координат с пространственными
При создании приложений типа редакторов и модельеров проблема связи оконных координат с пространственными становится весьма важной Недостаточно выбрать объект или элемент на экране, необходимо соотнести перемещения указателя мыши с перемещением объекта в пространстве или изменением его размеров.
Один из часто задаваемых вопросов звучит так. "Какой точке в пространстве соответствует точка на экране с координатами, например, 100 и 50?"
Ответить на такой вопрос однозначно невозможно, ведь если на экране присутствует проекция области пространства, то под курсором в любой точке окна находится проекция бесконечного числа точек пространства Однако ответ станет более определенным, если имеется в виду, что под курсором не пусто, есть объект. В этом случае, конечно, содержимому соответствующего пиксела соответствует лишь одна точка в пространстве.
Для решения несложных задач по переводу координат можно воспользоваться готовой командой библиотеки glu gluUnProject, переводящей оконные координаты в пространственные координаты Пример из подкаталога Ex20 поможет нам разобраться с этой командой В нем рисуется куб, при щелчке кнопки выводится информация о соответствующих мировых координатах (рис. 6.10).


[size=-2]------ Добавлено в 17:25
Нашел простейший способ решения этой задачи средствами Хиасм, но не удовлетворительный, все же:

Выбор элементов
Задача выбора определенных элементов на экране является очень распространенной для многих интерактивных приложений, поэтому достойна подробного рассмотрения. Решений ее несколько. Одно из самых простых состоит в том, что элементы раскрашиваются в уникальные цвета, и для выбора элемента просто определяется цвет пиксела в нужной точке.
Рассмотрим проект из подкаталога Ex01. Это плоскостная картинка, содержащая изображения двух треугольников: красного и синего. При нажатии кнопки мыши определяем цвет пиксела под курсором и выделяем его составляющие, по которым вычисляем выбранный элемент.

карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Администрация
Ответов: 15294
Рейтинг: 1518
#4: 2007-07-09 21:12:00 ЛС | профиль | цитата
Aziz писал(а):
Значит, очень сложно добавить ее в Hiasm?

не сложно. достаточно найте её реализацию
карма: 26
0
Ответов: 1268
Рейтинг: 47
#5: 2007-07-09 22:19:40 ЛС | профиль | цитата
Dilma писал(а):
не сложно. достаточно найте её реализацию
А тот пример что я привел (код) реализацией не является? Если нет, скажите что надо найти конкретно, я постараюсь поискать.. Помогите пожалуйста, а то я уже голову сломал почти об эту задачку.. Думаю, эта функция многим пригодится также..
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)