Анас Эль Сайед
Анас Эль Сайед

OpenGL. Нажатие двух клавиш одновременно на клавиатуре

Столнулся с проблемой, как можно задать нажатие одновременно двух клавиш на клавиатуре?
Допустим есть 2D пространство, и есть объект который мы двигаем с помощью стрелки вверх\вниз\влево\вправо
Мне надо что бы при одновременном зажатии стрелки вверх и влево - объект двигался по диагонали вверх, влево соответственно

вот такой код не работает: ( написан на С++ )
switch (key)
{
case GLUT_KEY_UP: p.y++;
if( key == GLUT_KEY_LEFT ) p.x++;
break;
}

SV
Shurik Vohidov

case GLUT_KEY_UP: p.y++;
if( key == GLUT_KEY_LEFT ) p.x++;

Ну если key РАВНО GLUT_KEY_UP, то она ничему другому равна быть не может. как я понял, GLUT_KEY_* - это флаги, значит:
if((key&GLUT_KEY_UP)==GLUT_KEY_UP)
p.y++;
if((key&GLUT_KEY_LEFT)==GLUT_KEY_LEFT)
p.x++;

и по вашэму коду видно, что вы не понимаете что есть что в С++

и OpenGL никак не относится к вводу (клавиатура, мышь) , она только рисует и всё.

Похожие вопросы
При нажатии клавиши на клавиатуре мышь не двигается.
Народ подскажите как сделать так чтобы после двух нажатий левой клавиши мыши автоматически нажималась клавиша 3
как определить нажатую клавишу клавиатуры в microsoft visual studio 2010 vb
Существует ли программа на смартфоны андроид для записи нажатия клавиш на клавиатуре?
opengl функция смотрит какая клавиша нажата. Есть ли такая? Или хотя бы альтернатива
Delphi нажатие клавиш
Как на клавиатуре нажать три клавиши одновременно?
как нажатые клавиши на клавиатуре отследить с помощью джаваскрипт? например вверх-вниз
Как сделать что бы можно было одновременно нажимать много клавиш на клавиатуре.
Чтоб на клавиатуре работали одновременно более 3-х нажатых клавиш