Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // controls for navigating ship using arrow keys
- void SpecialInput(int key, int x, int y) {
- switch (key) {
- case GLUT_KEY_UP:
- myWorld.shipType[selection]->translate(0, -7);
- break;
- case GLUT_KEY_LEFT:
- //rotate ship given center point of the ship
- myWorld.shipType[selection]->rotate(
- myWorld.shipType[selection]->center[0],
- myWorld.shipType[selection]->center[1], -2);
- break;
- case GLUT_KEY_RIGHT:
- myWorld.shipType[selection]->rotate(
- myWorld.shipType[selection]->center[0],
- myWorld.shipType[selection]->center[1], 2);
- break;
- }
- glutPostRedisplay();
- }
- void Shape2D::rotate(GLfloat rx, GLfloat ry, GLfloat angle){
- glTranslatef(rx, ry, 0);
- glRotatef(angle, 0., 0., 1.);
- glTranslatef(-rx, -ry, 0);
- }
- switch (key) {
- case GLUT_KEY_UP:
- myWorld.shipType[selection]->translate(0, -7);
- break;
- case GLUT_KEY_LEFT:
- glPushMatrix();
- myWorld.shipType[selection]->rotate(
- myWorld.shipType[selection]->center[0],
- myWorld.shipType[selection]->center[1], -2);
- myWorld.shipType[selection]->draw();
- glutPostRedisplay();
- glPopMatrix();
- break;
- case GLUT_KEY_RIGHT:
- myWorld.shipType[selection]->rotate(
- myWorld.shipType[selection]->center[0],
- myWorld.shipType[selection]->center[1], 2);
- break;
- }
- //glutPostRedisplay();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement