es el mismo evento de scroll y window en ejecucion?

Iniciado por Mr.Tru, Agosto 28, 2019, 08:44:00 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Agosto 28, 2019, 08:44:00 PM Ultima modificación: Agosto 29, 2019, 12:49:44 AM por Gabriela
Hola buenas se me dio por usar SFML y estaba viendo como detectar las funciones del mouse (rueda clics y posición de ejes X,Y). acá viene mi intriga se que al crear la ventana use un evento para que no se cierre automáticamente, por el momento voy verificando las respuestas en la ventana de comando que me tira si va bien el código aunque el IDE te muestra, es habito mio,
Bueno llendo al punto , ¿estoy usando el mismo evento para la rudeda del mouse y la ventana?
Código: text
#include <SFML/Window.hpp>
#include <iostream>
using namespace std;
int main()
{
    sf::Window window(sf::VideoMode(800, 600), "123");

   
    while (window.isOpen())
    {
       
        sf::Event event;
        while (window.pollEvent(event))
        {
           
            if (event.type == sf::Event::Closed)
                window.close();
        }
        if(event.type == sf::Event::MouseWheelScrolled){
   if(event.mouseWheelScroll.wheel==sf::Mouse::VerticalWheel)
    {if(event.mouseWheelScroll.delta==-1)
    {cout<<"movimiento abajo"<<endl;
    cout<<event.mouseWheelScroll.delta<<endl;
        }
        if(event.mouseWheelScroll.delta==1)
            {
            cout<<"rueda arriba"<<endl;
        cout<<event.mouseWheelScroll.delta<<endl;}

}}

        if(sf::Mouse::isButtonPressed(sf::Mouse::Right)){
            cout<<"click derecho"<<endl;
        }
        if(sf::Mouse::isButtonPressed(sf::Mouse::Left)){
            cout<<"click izquierdo"<<endl;
        }

        if(sf::Mouse::isButtonPressed(sf::Mouse::Middle)){
            cout<<"rueda"<<endl;
        }

        if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
            {cout<<"arriba"<<endl;
            }
            if(sf::Keyboard::isKeyPressed(sf::Keyboard::Down))
            {cout<<"abajo"<<endl;
            }
            if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
            {cout<<"izquierda"<<endl;
            }
            if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
            {cout<<"derecha"<<endl;
            }

    }
    return 0;
}

se que la rueda al dar una variable tipo "bool" puedo usar un "while" para ahorrar código solo estaba viendo como saber cuando gira apara arriba y cuando hacia abajo.
Gracias de antemano.