lima-city: Webhosting, Domains und Cloud
2 Pluspunkte 0 Minuspunkte

Wie kann ich mit GLFW ausgeben an welcher x/y Position sich die Maus gerade befindet?

#include <GLFW/glfw3.h>
#include <stdio.h>

int main()
{

    if (!glfwInit())
        return -1;

    GLFWwindow* window = glfwCreateWindow(800, 600, "Maus Beispiel", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    while (!glfwWindowShouldClose(window))
    {

        // printf("%d:%d", mouseX, mouseY);

        glfwPollEvents();

    }

    glfwTerminate();
    return 0;

}
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Mit der GLFW internen Funktion

glfwSetCursorPosCallback(window, callback);

kannst du einen eigenen Callback registrieren. Der wird dann automatisch jedes mal aufgerufen wenn sich die Maus bewegt und ruft die von dir registrierte Callback Funktion auf. Dabei übergibt sie jedes mal die x/y Koordinaten.

#include <GLFW/glfw3.h>
#include <stdio.h>

void mouse_callback(GLFWwindow* window, double xpos, double ypos)
{
    printf("Mausposition: (%f, %f)\n", xpos, ypos);
}

int main()
{

    if (!glfwInit())
        return -1;

    GLFWwindow* window = glfwCreateWindow(800, 600, "Maus Beispiel", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    // Setze den Maus-Callback
    glfwSetCursorPosCallback(window, mouse_callback);

    while (!glfwWindowShouldClose(window))
    {

        // Handle events
        glfwPollEvents();

    }

    glfwTerminate();
    return 0;

}
von (720 Punkte)  
GLFW Position von Mausklick anzeigen
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2.3k Fragen

2.8k Antworten

265 Kommentare

14 Nutzer