如何使用GLUT与对象链接菜单?

时间:2019-07-10 13:30:11

标签: c opengl glut opengl-compat

我需要创建一个菜单,每个对象的应用程序都将在该菜单上运行,每个人的菜单选项都相同。我尝试使用opengl做到这一点,找到的答案有链接不可用。

我尝试了很多方法,研究如何使用附加菜单,但没有成功...我不知道我在做什么!

npm install npm@lastest

我是画圈子,很多圈子

glColor3f(R,G,B);
glBegin(GL_LINE_LOOP); 
for (i = 0; i < num_linhas; i++) {
    angle = 2*PI*i/num_linhas;
    glVertex2f((cos(angle)*raio) + x, (sin(angle)*raio) + y);
}
glEnd();

这是mananger鼠标,如果单击圆弧半径,则会创建菜单

// Função callback chamada para gerenciar eventos do mouse
void GerenciaMouse(int button, int state, int x, int y)
{
    int i = 0, x1, y1;
    int encontrou = 0;
    float distancia;

    x1 = x;
    y1 = ay - y;
    if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN){  
         while(i < N && !encontrou){
            distancia = calcDist(x1, y1, Nos[i].x, Nos[i].y);
            if(distancia <= 5.0){
                printf("click");
                encontrou = 1;
                dispMenu = i;

                menu();
                //desenharCirculo((GLint)Nos[i].x, (GLint)Nos[i].y, 5,10, 0.0, 1.0, 0.0);
            }
            i++;
         }
    }
}

这是我要创建的菜单,但是在单击任何菜单后都只能在第一次运行。

当我单击对象时,我想查看菜单,如果我单击任何对象之外,则什么也没有发生。

PS:我的应用程序确实使用线程来刷新圆,因为它们有时会更改您的颜色,从而模拟没有电池。

0 个答案:

没有答案