Underc0de - La Casa de los Informáticos

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Mr.Tru en Agosto 28, 2019, 08:44:00 PM

Título: es el mismo evento de scroll y window en ejecucion?
Publicado por: Mr.Tru en Agosto 28, 2019, 08:44:00 PM
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?
#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.