当我按下" a"键盘三角形不会改变颜色。它始终使用默认颜色绘制三角形。并写了#34; q"出口工程。 因此,当我按下" a"三角形改变颜色,但这段代码不起作用
我使用GLUT和C ++编程语言。
class color // function of wanted color
{
public:
float boja;
color()
{
boja=0.2;
};
void setBoja()
{
this->boja=1;
};
float GetBoja()
{
return boja;
};
};
color colori; // global variable colori
void display() // function that display elements
{
glClear(GL_COLOR_BUFFER_BIT);
triangle(colori.boja);
glFlush();
}
void keyCB(unsigned char key, int x, int y) // keybord function
{
if( key == 'q' )
exit(0);
if( key == 'a' )
colori.setBoja(); // this part dont change color.
}
我的三角函数定义为:
void triangle(float x)
{
glBegin(GL_TRIANGLES);
glColor3f(x, 0, 0);
glVertex3f(-0.75, -0.75, 0.5);
glColor3f(0, 0, 0);
glVertex3f(0.75, -0.75, 0);
glColor3f(0, 0, x);
glVertex3f(0, 0.75, 0);
glEnd();
}