Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML] Podwójne wykorzystanie kliknięcia myszy

Ostatnio zmodyfikowano 2017-03-27 14:51
Autor Wiadomość
addam23
Temat założony przez niniejszego użytkownika
[SFML] Podwójne wykorzystanie kliknięcia myszy
» 2017-03-27 14:18:48
Witam, pisze sobie mały programik okienkowy w SFML-u , w którym mam kilka przycisków. Po uruchomieniu programu mam do wyboru 4 przyciski jeden zamyka program 3 pozostałem powodują ,że wszystkie 4 znikają i na ich miejsce pokazują się 3 kolejne jeden cofa do 4 przycisków a 2 pozostałem przechodzą dalej.

I teraz jest mój problem jeśli kliknę w przycisk ,który przechodzi do drugiej "sceny" ,ale w takim miejscu ,że kursor myszy pojawi się na przycisku do cofania do nic się nie dzieje, bo program odczytuje ,że kliknąłem w też w ten przycisk.

Tu jest mój kod:
C/C++
if( event.type == sf::Event::MouseButtonReleased && event.key.code == sf::Mouse::Left && state == KTORY_ALGORYTM ) {
    for( int i = 0; i < 3; i++ )
    if( buttons_type[ i ].getGlobalBounds().contains( mouse.x, mouse.y ) ) {
        type = i; state = ROSNACO_MALEJACO; }
    if( buttons_type[ 3 ].getGlobalBounds().contains( mouse.x, mouse.y ) )
    window.close(); }

if( event.type == sf::Event::MouseButtonReleased && event.key.code == sf::Mouse::Left && state == ROSNACO_MALEJACO ) {
    for( int i = 0; i < 2; i++ )
    if( buttons_sort[ i ].getGlobalBounds().contains( mouse.x, mouse.y ) ) {
    sort_ = i; switch( type ) { case 0: state = QUICKSORT; break; case 1: state = BUBBLESORT; break; case 2: state = SELECTIONSORT; break; } }
    if( buttons_sort[ 2 ].getGlobalBounds().contains( mouse.x, mouse.y ) )
         state = KTORY_ALGORYTM; }
P-159471
Saran
» 2017-03-27 14:47:42
Niech user przechodzi do następnej sceny dopiero kiedy kliknie i puści przycisk myszki na buttonie.
P-159473
1aam2am1
» 2017-03-27 14:51:29
Daj po prostu else po if w pętli eventów.
Gdyż tak naprawdę przenosisz się do następnej sceny i następnie ją cofasz.
Więc gdy dasz else nie wiejdzie ci już do następnego if i nie spowoduje zmiany.
P-159474
« 1 »
  Strona 1 z 1