GLUT中的三角形不会改变键盘事件的颜色

时间:2014-03-20 19:58:00

标签: c++ glut

当我按下" 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();
}

0 个答案:

没有答案