2 Pluspunkte 0 Minuspunkte
Wie kann ich in einem GLFW Window anzeigen wohin der User mit der Maus geklickt hat?
bezieht sich auf eine Antwort auf: GLFW Maus Position anzeigen
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Wenn du wissen möchtest, wohin der Benutzer geklickt hat musst du auch auf Mausklick Events achten und die entsprechende Callback Funktion (glfwSetMouseButtonCallback) setzen.

#include <GLFW/glfw3.h>

void mouse_callback(GLFWwindow* window, double xpos, double ypos)
{
    // Hier kannst du Code einfügen, um die Mausposition zu verarbeiten
    // xpos und ypos sind die Bildschirmkoordinaten der Maus
}

void mouse_button_callback(GLFWwindow* window, int button, int action, int mods)
{
    if (action == GLFW_PRESS)
    {
        double xpos, ypos;
        glfwGetCursorPos(window, &xpos, &ypos);

        // Hier kannst du Code einfügen, um mit dem Klick umzugehen
        // xpos und ypos sind die Bildschirmkoordinaten der Maus
    }
}

int main()
{

    if (!glfwInit())
        return -1;

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

    // Setze die Callback-Funktion für die Mausposition
    glfwSetCursorPosCallback(window, mouse_callback);

    // Setze die Callback-Funktion für Mausklicks
    glfwSetMouseButtonCallback(window, mouse_button_callback);

    while (!glfwWindowShouldClose(window))
    {

        // Zeichne hier

        glfwSwapBuffers(window);
        glfwPollEvents();

    }

    glfwTerminate();
    return 0;

}
von