eine ganz dumme Frage...
-
Hii,
ich habe eine ganz dummer leichte Frage aber ich habe irgendwie einen black out und weiß nicht mehr weiter...
Ich möchte eine Mausereigniss nur einmal ausführen, dass heißt also, dass ich erstmal die rechte Maustaste benutzen und sobald ich die linke Maustaste benutzt habe, möchte ich, dass ich die rechte Maustaste nicht mehr benutzten kann.
So sieht mein Code aus:bool flag = false; void Mouse() { if(button == GLUT_RIGHT_BUTTON && action == GLUT_DOWN) { if(flag==false) { blabla } } else if(button == GLUT_LEFT_BUTTON && action == GLUT_DOWN) flag = true; } }Hat einer ne Idee ?
-
Wenn Mouse() die Callbackfunktion für GLUT sein soll, fehlen dort noch parameter.. ansonsten siehts aber richtig aus.
-
nein Mouse ist nicht die Callback Funktion, dass habe ich einfach so gewählt...
das klappt aber nicht, ich kann wenn ich das Flag auf True gesetzt habe trotzdem mit der rechten Maustaste was machen...
-
Abgesehen davon dass ein eine } zuviel ist...
Wo steht denn "bool flag = false;"? Auf File/Namespace Scope? Wird "flag" sonst noch wo referenziert? Oder vielleicht in einer Funktion? Membervariable?Mit der überflüssigen } entfernt sollte dein Beispiel funktionieren.
Oder GANZ einfach: setze einen Breakpoint auf das if und einen auf die Variable (also so dass der immer triggert wenn irgendwo in die Variable geschrieben wird - sollte jeder gute Debugger können), und dann siehst du ganz schnell wo das Problem liegt.