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

[SFML 2.1]Kilka typów zdarzeń naraz / Problem z myszą

Ostatnio zmodyfikowano 2013-08-19 16:34
Autor Wiadomość
KubusiastyKuba
Temat założony przez niniejszego użytkownika
[SFML 2.1]Kilka typów zdarzeń naraz / Problem z myszą
» 2013-08-19 12:44:02
Witam ,chciałem was prosić o pomoc w napisaniu jednego warunku a konkretnie by po kliknięciu na napis okno się zamknęło ,od rana próbuję to rozkminić ale mi nie wychodzi :( szukałem wszędzie ale nigdzie o czymś takim nie pisze.
to co do tej pory zrobiłem i nie działa to
C/C++
if( zdarzenie.type == Event::MouseMoved && zdarzenie.mouseMove.x >= napis.getPosition().x && zdarzenie.mouseMove.x <= napis.getPosition().x + napis.getLocalBounds().width
&& zdarzenie.mouseMove.y >= napis.getPosition().y && zdarzenie.mouseMove.y <= napis.getPosition().y + napis.getCharacterSize() && zdarzenie.mouseButton.button == Mouse::Left )
     GlowneOkno.close();

P-90523
MrPoxipol
» 2013-08-19 12:56:50
C/C++
sf::Vector2f mouse = sf::Mouse::GetPosition( Window );
sf::FloatRect bounds = napis.getGlobalBounds();
if( sf::Mouse::isButtonPressed( sf::Mouse::Left ) && bounds.contains( mouse ) )
     Window.close();

Kod pisany na szybko i z głowy, więc mogą być błędy.
P-90524
KubusiastyKuba
Temat założony przez niniejszego użytkownika
» 2013-08-19 13:36:52
kurcze od 30 minut prubuje to naprawic ale te bledy sa dla mnie za bardzo "bledne" :( moglby mi ktos to wszystko wytlumaczyc?Jak zrobic zeby dzialalo?

Edit:XD prze godzine zastanawialem sie czemu mi czasami dziala a czasami nie ,po prostu program reaguje tylko gdy jednoczesnie klikam i ruszam myszka :P To jednak rodzi kolejne pytanie : Jak to narawić ?
kod:
C/C++
int myszx = zdarzenie.mouseMove.x;
int myszy = zdarzenie.mouseMove.y;
FloatRect polenapis = napis.getGlobalBounds();
if( Mouse::isButtonPressed( Mouse::Left ) && polenapis.contains( myszx, myszy ) )
     GlowneOkno.close();
P-90526
MrPoxipol
» 2013-08-19 14:44:32
Czytaj dokładniej, a później mów co nie działa... dokładnie masz złe pierwsze 2 linie (może tak czytanie ze zrozumieniem?). Ruch myszy na osiach od ostatniego poruszenia to nie to samo co aktualna pozycja myszy..

PS Polecam Serdecznie ;)
P-90529
KubusiastyKuba
Temat założony przez niniejszego użytkownika
» 2013-08-19 15:46:02
Ta strone znam dzieki niej mam ogolne pojecie co napisales wczesniej;) ,twoj kod sie nie kompiluje ,po malych poprawkach kompilator mi mowi ze floatrect i Vector2i nie pasuja do siebie ,moj kod w pewnym stopniu dziala dlatego go wkleilem.Wiec nadal czekam na rady :)
P-90536
ridic14
» 2013-08-19 15:59:05
po prostu program reaguje tylko gdy jednoczesnie klikam i ruszam myszka :P
 umieściłeś ten kod w pętli while(pollEvent()) ? jeśli tak to się nie dziw
P-90537
KubusiastyKuba
Temat założony przez niniejszego użytkownika
» 2013-08-19 16:05:29
no tak ,mam ją w pętli.Ale jak zrobić to inaczej?
P-90538
ridic14
» 2013-08-19 16:10:42
To co masz w pętli dzieje się tylko jeśli jest jakieś zdarzenie. Spróbuj umieścić ten kod zaraz po pętli zdarzeń.
P-90540
« 1 » 2
  Strona 1 z 2 Następna strona