Народный учебник по OpenGL


Урок 7. Режимы фильтрации текстур, освещение и обработка клавиатуры - часть 14


 

    if (keys['F'] && !fp) // Клавиша 'F' нажата?

    {

     fp=TRUE;             // fp равно TRUE

     filter+=1;           // значение filter увеличивается на один

     if (filter>2)        // Значение больше чем 2?

     {

      filter=0;           // Если так, то установим filter в 0

     }

    }

    if (!keys['F'])       // Клавиша 'F' отжата?

    {

     fp=FALSE;            // Если так, то fp равно FALSE

    }

 

В следующих четырех строках проверяем, нажали ли мы клавишу 'Page up'. Если так, то уменьшим значение переменной z. Если эта переменная уменьшается, куб будет двигаться вглубь экрана, поскольку мы используем glTranslatef (0.0f, 0.0f, z) в процедуре DrawGLScene.

 

    if (keys[VK_PRIOR])   // Клавиша 'Page Up' нажата?

    {

     z-=0.02f;            // Если так, то сдвинем вглубь экрана

    }

 

В этих четырех строках проверяется, нажали ли мы клавишу 'Page down'. Если так, то увеличим значение переменной z и сместим куб к наблюдателю, поскольку мы используем glTranslatef (0.0f, 0.0f, z) в процедуре DrawGLScene.

 

    if (keys[VK_NEXT])    // Клавиша 'Page Down' нажата?

    {

     z+=0.02f;            // Если так, то придвинем к наблюдателю

    }

 

Теперь все, что мы должны проверить - клавиши курсора. Нажимая влево или вправо, xspeed увеличивается или уменьшается. Нажимая вверх или вниз, yspeed увеличивается или уменьшается. Помните выше в этом уроке, я говорил, что, если значения xspeed или yspeed большие, куб вращается быстрее. Чем дольше Вы удерживаете одну из клавиш курсора, тем, быстрее куб будет вращаться в соответствующем направлении.

 

    if (keys[VK_UP])     // Клавиша стрелка вверх нажата?

    {

     xspeed-=0.01f;      // Если так, то уменьшим xspeed

    }

    if (keys[VK_DOWN])   // Клавиша стрелка вниз нажата?

    {

     xspeed+=0.01f;      // Если так, то увеличим xspeed

    }

    if (keys[VK_RIGHT])  // Клавиша стрелка вправо нажата?

    {

     yspeed+=0.01f;      // Если так, то увеличим yspeed




Начало  Назад  Вперед



Книжный магазин