SFML 2.1 Przycisk w menu i sf::Event ( pozycja myszki i kliknięci nie działa razem )
Ostatnio zmodyfikowano 2014-01-14 17:24
Madrei Temat założony przez niniejszego użytkownika |
SFML 2.1 Przycisk w menu i sf::Event ( pozycja myszki i kliknięci nie działa razem ) » 2014-01-14 16:42:40 Cześć mój problem to zrobienie przycisku za pomocą sf::Event. if( event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left ) Okno.close();
if( event.mouseMove.x > 325 && event.mouseMove.x < 475 && event.mouseMove.y > 200 && event.mouseMove.y < 250 ) Okno.close();
w ten sposób wszystko działa lecz jak zrobię tak: if( event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left && event.mouseMove.x > 325 && event.mouseMove.x < 475 && event.mouseMove.y > 200 && event.mouseMove.y < 250 ) Okno.close();
lub tak: if( event.mouseMove.x > 325 && event.mouseMove.x < 475 ) if( event.mouseMove.y > 200 && event.mouseMove.y < 250 ) if( event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left ) Okno.close();
i inne kombinacje powyższych to przestaje działać. Jak obejść pobieranie 1 Event-u podczas pętli ?? Tu chodzi o przycisk który ma być kliknięty np. taki "wyjście" lecz działa tylko dla pozycji lub kliknięcia razem nie chce zadziałać. Następnie chce jeszcze dorzucić enum Menu ale zatrzymałem się na tym dziwnym problemie. początek pętli: while( Okno.isOpen() ) { sf::Event event; while( Okno.pollEvent( event ) ) {
|
|
ShadowkhaN |
» 2014-01-14 16:56:49 Ja robiłem coś takiego i działało if( sf::Mouse::isButtonPressed( sf::Mouse::Left ) && sf::Mouse::getPosition( Window ).x >= 342 && sf::Mouse::getPosition( Window ).x <= 419 && sf::Mouse::getPosition( Window ).y >= 375 && sf::Mouse::getPosition( Window ).y <= 405 )
Nie wiem, czy wiesz, ale sf::Mouse::getPosition(Window).x pobiera pozycję myszki względem okna SFML. Może Ci się to przydać :) |
|
RazzorFlame |
» 2014-01-14 17:00:16 Nie wiem, czy wiesz, ale sf::Mouse::getPosition( Window ).x pobiera pozycję okna SFML |
Nie prawda, pobiera pozycję względną myszki gdzie początek koordynat (0,0) jest właśnie w lewym górnym rogu okna. |
|
ShadowkhaN |
» 2014-01-14 17:01:59 No źle napisałem trochę :P Chodziło o pozycję myszki xD |
|
Madrei Temat założony przez niniejszego użytkownika |
» 2014-01-14 17:24:47 ShadowkhaN dzięki zadziałało :)
if(sf::Mouse::isButtonPressed( sf::Mouse::Left ) ) rozwiązało problem :) |
|
« 1 » |