這段程序就是畫了一個(gè)三角形,想讓鍵盤控制它來上下左右運(yùn)動(dòng),但是無論怎么欽按鈕他都不運(yùn)動(dòng),非常郁悶,請(qǐng)求支援。謝謝
#include <stdlib.h>
#include <gl/glut.h>
#include <windows.h>
static GLfloat x=0.0;
static GLfloat y=0.0;
void init()


{
glClearColor(0.0,0.0,0.0,0.0);
}
void display()


{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.2f,0.8f,0.6f);
glBegin(GL_TRIANGLES);
glVertex2f(0.0+x,0.0+y);
glVertex2f(0.5+x,0.0+y);
glVertex2f(0.5+x,0.5+y);
glEnd();
glutSwapBuffers();
glFlush();
}
void keyboard(unsigned char key,int x,int y)


{
switch(key)

{
case 'd':
case 'D':
x+=0.1;
if(x>0.5)
x=0.5;
glutPostRedisplay();
break;
case 'a':
case 'A':
x-=0.1;
if(x<-1.0)
x=-1.0;
glutPostRedisplay();
break;
case 'w':
case 'W':
y+=0.1;
if(y>0.5)
y=0.5;
glutPostRedisplay();
break;
case 's':
case 'S':
y-=0.1;
if(y<-1.0)
y=-1.0;
glutPostRedisplay();
break;
case 27:
exit(0);
break;
default:
break;
}
}
void reshape(int w,int h)


{
glViewport(0,0,(GLsizei)w,(GLsizei)h);
}
int main(int argc,char *argv[])


{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow(argv[0]);
init();
glutDisplayFunc(display);
glutKeyboardFunc(keyboard);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}