我有一个前面的屏幕,我将为我的项目。 但问题是它没有发生。应该是这样,按下一些指定的键前屏幕应该切换到项目屏幕。
这里我所做的是,我已经为变量指定了一个整数值。
int flag=0;
我有一把钥匙,定义为:
if(key=='b'||key=='B')
{
if(flag==0)
flag=1;
}
然后我在一个函数中提供条件。
void mydisplay(void)
{
//glClear(GL_COLOR_BUFFER_BIT);
if(flag==0)
window();
if(flag==1)
display();
}
窗口函数定义为:
void window(void)
{
glutInitDisplayMode (GLUT_DOUBLE);
glutInitWindowSize (1920,1080);
glutInitWindowPosition (0,0);
glutCreateWindow ("3D GLOBE");
glutDisplayFunc (display10);
glutIdleFunc (display10);
glutReshapeFunc (reshape10);
//Load our texture
texture[9] = LoadTexture1( "docd.bmp", 1754, 1240 );
}
在此之后我在main函数中调用mydisplay函数
int main (int argc, char **argv)
{
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize (1920,1080);
glutInitWindowPosition (0,0);
glutCreateWindow ("3D GLOBE");
init();
createmenu();
glutDisplayFunc (mydisplay);
glutIdleFunc (spinsphere);
glutKeyboardFunc(keys);
glutReshapeFunc (reshape);
glutMainLoop ();
return 0;
}
答案 0 :(得分:0)
嗯,你刚才:
int flag=0;
和
if(key=='b'||key=='B')
{
if(flag==1)
flag=0;
}
该条件永远不会被填满,因此按键将永远不会产生任何影响,并且' flag`将始终保持为0。
答案 1 :(得分:0)
答案很简单。只需将项目代码功能复制到您想要指定的特定键即可输入项目。封面显示功能主要功能。
这是代码 这是我以前在主要使用它的项目功能。
if(key=='b'||key=='B')
{
glutInitDisplayMode (GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize (1920,1080);
glutInitWindowPosition (0,0);
glutCreateWindow ("3D GLOBE");
glutDisplayFunc(display);
init();
createmenu();
glutIdleFunc (spinsphere);
glutKeyboardFunc(keys);
glutReshapeFunc (reshape);
}
这是我的主要功能 还要确保你将在两个地方使用键盘功能
int main (int argc, char **argv)
{
glutInit (&argc, argv);
//front screen functions
glutInitDisplayMode (GLUT_DOUBLE);
glutInitWindowSize (1920,1080);
glutInitWindowPosition (0,0);
glutCreateWindow ("3D GLOBE");
glutDisplayFunc (display10);
glutIdleFunc (display10);
glutReshapeFunc (reshape10);
//Load our texture
texture[9] = LoadTexture1( "docd.bmp", 1754, 1240 );
glutKeyboardFunc(keys);
/*glutInitDisplayMode (GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize (1920,1080);
glutInitWindowPosition (0,0);
glutCreateWindow ("3D GLOBE");
glutDisplayFunc(display);
init();
createmenu();
glutIdleFunc (spinsphere);
glutKeyboardFunc(keys);
glutReshapeFunc (reshape);
*/
glutMainLoop ();
return 0;
}