domingo, 9 de marzo de 2014

Cambiar de posición una figura



#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glu.h>
#include <GL/gl.h>
#include <GL/glut.h>

#include <iostream>
#endif
using namespace std;


#include <stdlib.h>

float radio= 0.0;
float valor_x= 0.0;

void keyInput(unsigned char key, int x, int y)
{
    switch(key){
        case 'q':
            exit(0);
        break;
            }
}

void specialkeyInput(int key,int x, int y)
{
    if(key==GLUT_KEY_DOWN)
    {
        if(radio<-1.2)
        {
            radio=1;
        }
        else
        {
        radio-=0.1;
        glutPostRedisplay();
        }

    }
    if(key==GLUT_KEY_LEFT)
    {
        if(valor_x<-1.2)
        {
            valor_x=1;
        }
        else
        {
            valor_x-=0.1;
            glutPostRedisplay();
        }


    }
    if(key==GLUT_KEY_UP)
    {
        if(radio>1.2)
        {
            radio=-1;

        }
        radio+=0.1;
        glutPostRedisplay();


    }
    if(key==GLUT_KEY_RIGHT)
    {

        if(valor_x>1.2)
        {
            valor_x=-1;

        }
        else
        {
            valor_x+=0.1;
            glutPostRedisplay();
        }

    }
}

void dibuja()
{
 


    glClearColor(0,0,0,0);
    glPushMatrix();
    glClear(GL_COLOR_BUFFER_BIT);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glTranslatef(valor_x,radio,0.0);
    glColor3f(1.0,1.0,0.0);
    glutWireSphere(0.2,15,15);
    glPopMatrix();
    glFlush();




}
int main()
{

    cerr << " main() \n";
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
    glutInitWindowSize(550,550);
    glutCreateWindow("");
    glutKeyboardFunc(keyInput);
    glutDisplayFunc(dibuja);
    glutSpecialFunc(specialkeyInput);
    glutMainLoop();

}

No hay comentarios:

Publicar un comentario