Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Выбор объекта в OpenGL |
Автор: Devic 8.5.2009, 13:08 |
Здравствуйте, у меня возникла проблема. Я пишу игру "Чапаев"(кто не знает- своими шашками сбиваешь чужие) , сцена трёхмерная, каждая шашка - объект, нужно реализовать выбор конкретной шашки, чтобы потом выбрать для неё силу и направление. То есть, как я себе предполагаю при нажатии курсора на определенную шашку, у неё,к примеру меняется значение переменной булевого типа. У меня не получается сделать так чтобы при нажатии курсором на шашку именно у неё менялась эта переменная. Как это сделать? |
Автор: Mazzi 8.5.2009, 13:33 |
Тебе нужно сделать так, чтобы каждая шашка(объект) понимала координаты экрана в которые она отрисовывается. После клика мыши производишь опрос шашаек по очереди, передавая им координаты клика и та(шашака) у которой координаты клика и координаты отрисовки пересекаются установит у себя булевскую переменную и (например) будет подсвечена. |
Автор: Devic 8.5.2009, 14:16 |
тогда вопрос следующий - как сделать чтобы шашка понимала в какие координаты экрана она отрисовывается? И при определенном угле они ведь перекрывают друг друга |
Автор: Mazzi 8.5.2009, 16:22 | ||
Ну тогда по другому, подсвечивать ещё до клика, читая координаты мыши. А по вопросу понимания куда отрисовывается объект, не могу сказать. Решить этот вопрос можно, только я не знаю как. |
Автор: buian 13.5.2009, 15:14 | ||||||
Всем привет. Сейчас пишу прогарммку, необходимо заюзать буфер выбора от OpenGL, при двойном клике. есть следующие функции
и в обработчике событий:
где-то что-то не работает, hit всегда -1. подскажите, что не так. |
Автор: buian 14.5.2009, 16:37 |
ребят. какой-то странный глюк, если рисую примитив GL_QUADS поименный, то все нормально. с точками, треугольниками почему-то не определяет. разобрался, по глупости поставил при инициализации glViewPort кооодинаты руками, при этом не на все окно. Поэтому похоже и не совпадали координаты мышки и расчеты OpenGL. |
Автор: JanryMayers 31.3.2010, 03:58 | ||
А кто то может подсказать? Предположение, что для каждой фигуры, при инициализации, как объект на доске, запоминаются её координаты экрана исходя из начальных координат. Но вопрос первый, касающийся масштаба. В ЖЛ сцене координаты точек имеют вещественный тип, к примеру 2.0f. То есть при инициализации понадобится их сохранить, а потом сравнить с координатами мыши, после нажатия, у которых значение целое и положительное. Во общем говоря как преобразовывать координаты курсора в ЖЛ координаты и наоборот? Второй вопрос. А если у нас, к примеру не 8 фигур, а больше 1000, то не ужели придётся проверять после каждого клика координаты всех 1000 фигур? |
Автор: Rickert 31.3.2010, 13:31 |
Модератор: Пожалуйста, один топик - один вопрос. Правила форума: http://forum.vingrad.ru/index.php?act=boardrules buian, JanryMayers Ещё раз устроите мусорку в темах - получите предупреждение. Закрыто. |