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

[SFML 2.0] Znikanie prymityu po wciśnieciu przycisku

Ostatnio zmodyfikowano 2013-08-02 14:31
Autor Wiadomość
tomasz
Temat założony przez niniejszego użytkownika
[SFML 2.0] Znikanie prymityu po wciśnieciu przycisku
» 2013-08-01 16:36:57
Witam. Programuje przycisk. Napisałem kod polegający na wyświetlaniu prymitywu jeśli najadę kursorem na inny prymityw. Niestety gdy właściwy prymityw pokaże się i nacisnę jakiś przycisk, znika. Czy mógłby mi ktoś pomóc i podpowiedzieć jak temu zapobiec?

Oto kod:

C/C++
if( zdarzenie.mouseMove.x > obiekt.getPosition().x && zdarzenie.mouseMove.x < obiekt.getPosition().x + obiekt.getSize().x &&
zdarzenie.mouseMove.y > obiekt.getPosition().y && zdarzenie.mouseMove.y < obiekt.getPosition().y + obiekt.getSize().y )
     oknoAplikacji.draw( kwadrat2 );

P-89206
pekfos
» 2013-08-01 17:25:34
Źle się do tego zabrałeś. Powinieneś odczytywać pozycję kursora z okna, a nie ze zdarzenia.
http://sfml-dev.org​/documentation/2.0​/classsf_1_1Mouse.php#a93b4d2ebef728e77a0ec9d83c1e0b0c8
P-89209
tomasz
Temat założony przez niniejszego użytkownika
» 2013-08-01 22:16:27
Bardzo dziękuje, pomogło. Ma jednak techniczne pytanie. Jestem ciekaw szczegółów mojego błędu, a konkretnie, czemu odczytanie pozycji ze zdarzenia była złym wyjściem?
P-89245
MrPoxipol
» 2013-08-01 23:08:44
Tak, bo z tego co się orientuję, to to co chciałeś sprawdzić to delta ruchu myszki.
P-89250
RazzorFlame
» 2013-08-02 12:48:12
MrPoxipol, tamta pozycja myszki jest nadpisywana przez eventy, co z kolei przeszkadza w sprawdzaniu czy jakis przycisk myszki został wcisnięty (ponieważ sf::Event to unia). Co prawda jest pętla eventów ale przy ciągłym nadpisywaniu (ręcznie) pozycji myszki... daleko nie zajdziesz. Do tego służy:
C/C++
sf::Vector2f mouse = sf::Mouse::getPosition();
P-89269
MrPoxipol
» 2013-08-02 13:15:04
pekfos właśnie do tego podał link...
P-89273
tomasz
Temat założony przez niniejszego użytkownika
» 2013-08-02 14:31:08
Dla mnie takie wyjaśnienia wystarczą. Bardzo dziękuje za informacje.
P-89280
« 1 »
  Strona 1 z 1