读书人

请大家帮下忙!该如何解决

发布时间: 2012-03-11 18:15:39 作者: rapoo

请大家帮下忙!
#include <stdlib.h>
#include <GL/glut.h>
using namespace std;
char a1[]= "1 ";
char a2[]= "2 ";
char a3[]= "3 ";
char a4[]= "4 ";
char a5[]= "5 ";
void zifu1(char *string);
void zifu2(char *string);
void zifu3(char *string);
void zifu4(char *string);
void zifu5(char *string);
void background()
{
glClearColor(0.5,0.3,1.0,0.0);
}
void myDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor4f(0.0,0.0,1.0,0.0);
glLineWidth(5.0);
glBegin(GL_LINES);
glVertex2f(-0.9,-0.6);
glVertex2f(-0.4,-0.6);
glVertex2f(-0.65,-0.6);
glVertex2f(-0.65,0.5);
glVertex2f(-0.3,-0.6);
glVertex2f(0.2,-0.6);
glVertex2f(-0.05,-0.6);
glVertex2f(-0.05,0.5);
glVertex2f(0.3,-0.6);
glVertex2f(0.8,-0.6);
glVertex2f(0.55,-0.6);
glVertex2f(0.55,0.5);
glEnd();
glColor4f(1.0,0.0,1.0,0.0);
glRectf(-0.87,-0.49,-0.43,-0.59);
glColor4f(0.0,0.0,0.0,0.0);
zifu5(a5);
glColor4f(1.0,1.0,0.0,0.0);
glRectf(-0.84,-0.39,-0.46,-0.49);
glColor4f(0.0,0.0,0.0,0.0);
zifu4(a4);
glColor4f(0.0,1.0,1.0,0.0);
glRectf(-0.81,-0.29,-0.49,-0.39);
glColor4f(0.0,0.0,0.0,0.0);
zifu3(a3);
glColor4f(0.5,0.7,0.3,0.0);
glRectf(-0.78,-0.19,-0.52,-0.29);
glColor4f(0.0,0.0,0.0,0.0);
zifu2(a2);
glColor4f(0.7,0.9,0.6,0.0);
glRectf(-0.75,-0.09,-0.55,-0.19);




glColor4f(0.5,0.3,1.0,0.0);
glRectf(-0.75,-0.09,-0.55,-0.19);
glColor4f(0.0,0.0,1.0,0.0);
glBegin(GL_LINES);
glVertex2f(-0.65,-0.09);
glVertex2f(-0.65,-0.19);
glEnd();
glColor4f(0.7,0.9,0.6,0.0);
glRectf(0.45,-0.49,0.65,-0.59);
glFlush();
}
void zifu1(char *string)
{
int length;
length=(int)strlen(string);
glRasterPos2f(-0.66,-0.57);
for (int m=0;m <length;m++)
{
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, string[m]);
}
}
void zifu2(char *string)
{
int length;
length=(int)strlen(string);
glRasterPos2f(-0.66,-0.26);
for (int m=0;m <length;m++)
{
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, string[m]);
}
}
void zifu3(char *string)
{
int length;
length=(int)strlen(string);
glRasterPos2f(-0.66,-0.36);
for (int m=0;m <length;m++)
{
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, string[m]);
}
}
void zifu4(char *string)
{
int length;
length=(int)strlen(string);
glRasterPos2f(-0.66,-0.46);
for (int m=0;m <length;m++)
{
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, string[m]);
}
}
void zifu5(char *string)
{
int length;
length=(int)strlen(string);


glRasterPos2f(-0.66,-0.57);
for (int m=0;m <length;m++)
{
glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, string[m]);
}
}
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(800,600);
glutInitWindowPosition(100,100);
glutCreateWindow( "Han Nuo Ta ");
background();
glutDisplayFunc(myDisplay);
glutMainLoop();
return 0;
}

在上面的程序中,我想在点击了键盘上的任意键后才执行语句glRectf(-0.75,-0.09,-0.55,-0.19);
后的内容,就像getchar()一样.请问如何实现?

[解决办法]
我运行了下 ...
哇 LZ强....

你要点击键盘上的键的时候 你要注册快捷键哇
[解决办法]
cin.getchar();吧
[解决办法]
getchar(); //敲回车后执行后续语句

读书人网 >C++

热点推荐