Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Клавиатура и Glut, не работает клавиатура 
:(
    Опции темы
kurlyak
Дата 17.2.2008, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: 1
Всего: 3



вот код. в нем клавиша Esc работает, а клавиши стрели не работают, программа на них не реагирует. кто знает, скажите почему.

Код

void Keyboard(unsigned char key, int x, int y)
{
    if(key == 27) //Esc
        exit(0);
    if(key == 37) //Left
        exit(0);
    if(key == 39) //Right
        exit(0);
    if(key == 38) //Up
        exit(0);
    if(key == 40) //Down
        exit(0);

}

void main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB|GLUT_DEPTH);
    
    
    SystemParametersInfo(SPI_GETWORKAREA, 0, &rcCurrentWorkArea, 0);
    
    glutInitWindowSize(rcCurrentWorkArea.right,rcCurrentWorkArea.bottom);
    glutCreateWindow("Draw Example");
    glutFullScreen();

    glutDisplayFunc(Display);
    glutReshapeFunc(Reshape);
    glutKeyboardFunc(Keyboard);
    glutMouseFunc(Mouse);

    glutMainLoop();
}

PM MAIL   Вверх
Brain
Дата 1.4.2008, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 10.12.2006
Где: Россия, Новочерка сск

Репутация: нет
Всего: нет



kurlyak, насколько я знаю для клавиш LEFT, RIGHT и т.д. Надо использовать функцию glutSpecialFunc.

До main:
Код


void SpecialFunc(int key, int x, int y)
{
    if(key == GLUT_KEY_LEFT) //Left
        exit(0);
    if(key == GLUT_KEY_RIGHT) //Right
        exit(0);
    if(key == GLUT_KEY_UP) //Up
        exit(0);
    if(key == GLUT_KEY_DOWN) //Down
        exit(0);
}


В main:
Код

...
glutSpecialFunc(SpecialFunc);
...


А Esc оставь в Keyboard. У мну так работает smile

Это сообщение отредактировал(а) Brain - 1.4.2008, 18:28
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0387 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.