2015-11-01 88 views
-1

我需要通过keyboardup方法绘制立方体的帮助,例如,如果我点击'一个',那么必须显示一个立方体。 我已经达到了迄今为​​止绘制立方体,如果任何键点击opengl 3d

void KeyUp(unsigned char key, int x, int y) { 
    if (key == 'a') {glutSolidCube(5);} 
    glutPostRedisplay(); 
} 

,但没有出现在OpenGL的。

想让你知道,当我把glutSolidCube(5);在它的工作显示方法。

回答

1

在键盘回调中(并保留glutPostRedisplay())和(选择性地)在显示回调中绘制立方体,切换“显示立方体”布尔值。

+0

如果我想添加多个立方体,那么我必须声明更多的布尔值? –

1

但是在opengl中没有任何东西出现。

因为在使用键盘方法绘制glutSolidCube(5)之后,请在显示方法中清除视口。因此,所有绘制的东西都被清除了。

当我把glutSolidCube(5);在它的显示方法中起作用。

它正在那里工作,因为您可能在清除视口和发布之前在正确的位置(即)绘图。

声明全局布尔值并在关键回调方法中将其设置为true。 使用布尔值来决定是否必须在显示方法中绘制立方体。