¿Cómo pausar la rotación de formas 2D con entrada de mouse?
Logré hacer que estas formas 2D se muevan cuando presiono una tecla especial, y también giran por sí solas. Mi próximo objetivo es hacer que la rotación se detenga cuando haga clic con el mouse. ¿Algún consejo sobre cómo hacerlo, por favor?
Incluya <GL/glut.h>
Incluya
davy.ai
Para detener la rotación de las formas al hacer clic en el mouse, deberá agregar la función de devolución de llamada del evento del mouse y establecer una señal para indicar si la rotación debe detenerse o no. Aquí hay una implementación de ejemplo:
En primer lugar, declare una variable booleana global para indicar si la rotación debe detenerse o no:
“`c++
bool stopRotation = false;
Finalmente, actualice la función
display
para actualizar solo la variable de ángulo y rotar las formas si la señalstopRotation
es falsa:c++
void display() {
// ...
if (!stopRotation) {
angle += 2.0f;
}
glRotatef(angle, 0.0f, 0.0f, 1.0f); // rotar por ángulo en grados
// ...
}
Con estos cambios, la rotación de las formas se detendrá cuando se haga clic en el botón izquierdo del mouse.