![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
Devic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
Здравствуйте, у меня возникла проблема. Я пишу игру "Чапаев"(кто не знает- своими шашками сбиваешь чужие) , сцена трёхмерная, каждая шашка - объект, нужно реализовать выбор конкретной шашки, чтобы потом выбрать для неё силу и направление. То есть, как я себе предполагаю при нажатии курсора на определенную шашку, у неё,к примеру меняется значение переменной булевого типа. У меня не получается сделать так чтобы при нажатии курсором на шашку именно у неё менялась эта переменная. Как это сделать?
|
|||
|
||||
Mazzi |
|
|||
![]() Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: нет Всего: 21 |
Тебе нужно сделать так, чтобы каждая шашка(объект) понимала координаты экрана в которые она отрисовывается. После клика мыши производишь опрос шашаек по очереди, передавая им координаты клика и та(шашака) у которой координаты клика и координаты отрисовки пересекаются установит у себя булевскую переменную и (например) будет подсвечена.
-------------------- Мне нужны помощники. |
|||
|
||||
Devic |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 8.5.2009 Репутация: нет Всего: нет |
тогда вопрос следующий - как сделать чтобы шашка понимала в какие координаты экрана она отрисовывается? И при определенном угле они ведь перекрывают друг друга
|
|||
|
||||
Mazzi |
|
|||
![]() Правильный ![]() ![]() Профиль Группа: Комодератор Сообщений: 825 Регистрация: 3.4.2003 Репутация: нет Всего: 21 |
Ну тогда по другому, подсвечивать ещё до клика, читая координаты мыши. А по вопросу понимания куда отрисовывается объект, не могу сказать. Решить этот вопрос можно, только я не знаю как. -------------------- Мне нужны помощники. |
|||
|
||||
buian |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 4.2.2005 Репутация: нет Всего: нет |
Всем привет.
Сейчас пишу прогарммку, необходимо заюзать буфер выбора от OpenGL, при двойном клике. есть следующие функции
и в обработчике событий:
где-то что-то не работает, hit всегда -1. подскажите, что не так. |
||||||
|
|||||||
buian |
|
|||
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 4.2.2005 Репутация: нет Всего: нет |
ребят.
какой-то странный глюк, если рисую примитив GL_QUADS поименный, то все нормально. с точками, треугольниками почему-то не определяет. разобрался, по глупости поставил при инициализации glViewPort кооодинаты руками, при этом не на все окно. Поэтому похоже и не совпадали координаты мышки и расчеты OpenGL. Это сообщение отредактировал(а) buian - 14.5.2009, 17:46 |
|||
|
||||
JanryMayers |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 11.6.2009 Где: Украина, г. Киев Репутация: нет Всего: нет |
А кто то может подсказать? Предположение, что для каждой фигуры, при инициализации, как объект на доске, запоминаются её координаты экрана исходя из начальных координат. Но вопрос первый, касающийся масштаба. В ЖЛ сцене координаты точек имеют вещественный тип, к примеру 2.0f. То есть при инициализации понадобится их сохранить, а потом сравнить с координатами мыши, после нажатия, у которых значение целое и положительное. Во общем говоря как преобразовывать координаты курсора в ЖЛ координаты и наоборот? Второй вопрос. А если у нас, к примеру не 8 фигур, а больше 1000, то не ужели придётся проверять после каждого клика координаты всех 1000 фигур? Это сообщение отредактировал(а) JanryMayers - 31.3.2010, 04:03 |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Модератор: Пожалуйста, один топик - один вопрос.
Правила форума: http://forum.vingrad.ru/index.php?act=boardrules buian, JanryMayers Ещё раз устроите мусорку в темах - получите предупреждение. Закрыто. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |