Мне нужно создать меню, в котором мое приложение для каждого объекта, параметры меню одинаковы для всех. Я пытаюсь сделать это, используя opengl, и ответы на поиск имеют ссылки недоступны.
Я очень стараюсь, исследую, как использовать меню вложения, но безуспешно ... Я не знаю, что я делаю!
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();
Я рисую круги, много кругов
// 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++;
}
}
}
это мышь-манипулятор и создание меню, если щелчок находится на радиусе круга
void menu()
{
int sub1;
printf("click\n");
glutCreateMenu(GoMenu);
glutAddMenuEntry("Define source", 1);
glutAddMenuEntry("Define sink", 2);
glutAddMenuEntry("Recharge device", 3);
glutAttachMenu(GLUT_LEFT_BUTTON);
}
и это меню, которое я хочу создать, но запускаю только в первый раз, после любого щелчка стрелять в меню.
Я хочу видеть меню, когда я нажимаю на объект, если я щелкаю из любого объекта, ничего не происходит.
PS: мое приложение использует потоки для обновления круга из-за того, что время от времени они могут менять ваш цвет, имитируя отсутствие батареи.