2014-12-03 3 views
0

Я хотел бы увеличить объектив до тех пор, пока я держу правую кнопку мыши вниз. Проблема сейчас в том, что я должен щелкнуть ее каждый раз, когда я хочу увеличить. Есть ли способ изменить мой код, чтобы он увеличивался, пока я держу кнопку, а не нажимаю на нее?Кнопка мыши GLUT вниз

void mouse(int button, int state, int x, int y) 
{ 
    // Save the left button state 
    if (button == GLUT_LEFT_BUTTON) 
    { 
     leftMouseButtonDown = (state == GLUT_DOWN); 
     zMovement += 0.1f; 
    } 

    else if (button == GLUT_RIGHT_BUTTON) 
    { 
     leftMouseButtonDown = (state == GLUT_DOWN); 
     zMovement -= 0.1f; 
    } 

    // Save the mouse position 
    mouseXPos = x; 
    mouseYPos = y; 
} 

ответ

1

переменной состояния вашей функции говорит вам, какой тип кнопки мыши событие произошло: Это может быть либо GLUT_DOWN или GLUT_UP.

Зная это, вы можете сохранить это состояние в дополнительной переменной за пределами функции мыши и масштабировать, пока состояние установлено в true (это должно выполняться где-то в каждом кадре). Код может выглядеть так:

+0

А его так очевидно, когда вы это произносите (спасибо за переменное напоминание тоже: P) Это отлично работает, спасибо – user2757842

Смежные вопросы