Paso 9: La construcción: rotar el cubo
Nota: he actualizado mi windows 10 PC antes de escribir el paso, por eso la barra superior de mi aplicación es verde debido a mi color del tema (que es verde). Por lo que no existen más cambios que hacer, sólo el windows OS haciendo su cosa.
Para rotar el cubo, necesitamos dos cosas.
1) primero una función para actualizar la rotación cuando presiona nuestras teclas.
2) matrices para girar el cubo.
La siguiente función es responsable de comprobar los eventos de pulsación de tecla y actualización de la rotación y escalamiento de las variables
En primer lugar definido una variable
const Uint8 * teclas = NULL;
Es similar al concepto de una matriz, pero básicamente, se trata de una estructura de datos para almacenar los datos como una cadena de elementos.
A continuación como en (1) poblar variable clave con clave de los eventos que ocurren en cada iteración a través de SDL_GetKeyBoardState(NULL);
Ver, super fácil. Ahora en (2) llamar la función checkKeys(),
Comprobación de qué tecla es presionada es súper fácil en SDL, tiene macros incorporadas definiendo Qué tecla.
Como en SDL_SCANCODE_ESCAPE (1) define la tecla Esc
Fuente: www.ComputerHope.com
Fuente imagen:
Del mismo modo en (2) y (3).
Ahora en (2) he definido todas las variables (que son el flotador por cierto) para definir la rotación. Cuando se presionan las teclas de flecha, son incrementa/disminuye en consecuencia.
GLfloat cubeRotateX = 0.0f;
GLfloat cubeRotateY = 0.0f;
( 3) he definido las variables de escala.
GLfloat ScaleFactor = 1.0f;
Ahora la función checkKeys() devuelve true si la condición de salida tiene éxito y false si condición de salida pero no es cierto.
Entonces por consiguiente en la si condición en el tiempo bucle, la variable de hecho se modifica. Como usted probablemente sabe por ahora, hacer variable controla la condición de salida de la bobina si = 1; el tiempo se cierra el bucle y se termina la aplicación.