Allegro c++ Mausklick



  • Hallo, ich habe eine Frage bezüglich des Mausklickes bei c++. Man kann ja abfragen ob die linke Maustaste gedrückt ist, indem man

    if (mouse_b& 1){.........}
    

    abfragt. Gibt es eine Möglichkeit, dass ich den Inhalt der Verzweigung dann nur ein einziges mal pro Mausklick ausführe und es sich nicht immer wiederholt wenn ich auf der Taste bleibe? Ich hoffe die Frage ist verständlich formuliert, danke schon mal.


  • Mod

    Ich würde dir wie bereits erwähnt nahelegen eine Bibliothek zu suchen, die entsprechende (sehr grundlegende) Funktionalitäten bereits anbietet. Ich habe den selben Fehler gemacht wie du, und ihn effektiv damit bezahlt, das Rad aka eine 2D GUI Bibliothek neu zu erfinden. Verschwende nicht deine Zeit und lerne lieber, wie man ein Interface von bspw. SFML verwendet.

    Ansonsten kannst du dir den Zustand einfach merken. Ein bool hasClicked, den du innerhalb der Verzweigung auf true setzt und als Kriterium mitbenutzt:

    if ((mouse_b & 1) && !hasClickedLeft ){
      hasClickedLeft = true;
      // ...
    }
    hasClickedLeft = mouse_b&1;
    


  • @Columbo
    sorry, dass du das mit der Bibliothek schon erwähnt hast, muss ich wohl überlesen haben, aber danke für den Tipp ich werde das jetzt mal testen.


Log in to reply