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

[SFML 1.6] Odbicie lustrzane sprite'a przy sterowaniu.

Ostatnio zmodyfikowano 2012-11-27 23:29
Autor Wiadomość
wimmie
Temat założony przez niniejszego użytkownika
[SFML 1.6] Odbicie lustrzane sprite'a przy sterowaniu.
» 2012-11-27 17:23:42
Witam, jest to mój pierwszy post na tym forum, całkiem niedawno zacząłem moją przygodę z SFML 1.6. Podczas pisania mojej "gry" napotkałem problem, z którym nie mogę sobie poradzić. 
C/C++
//STEROWANIE
const Input & sterowanie = noweOkno.GetInput();
if( sterowanie.IsKeyDown( Key::Right ) )
     sPojazd.Move( + 2.5, 0 );

if( sterowanie.IsKeyDown( Key::Left ) )
     sPojazd.Move( - 2.5, 0 );

Mój sprite do którego odnosi się to sterowanie (sPojazd) jest ustawiony w prawą stronę, mam przygotowanego sprajta również z pojazdem w lewą stronę jednak nie wiem jak zrobić aby na tej samej pozycji zmieniało grafiki zależnie od przycisku.
Tutaj screen, który może Wam więcej wyjaśni. Pozdrawiam
P-69986
Mrovqa
» 2012-11-27 18:53:48
Pozycję trzymaj w zwykłych zmiennych i przy okazji zapamiętuj ostatnio naciśnięty klawisz (lewo/prawo). Przy rysowaniu stawiasz warunek, w którą stronę porusza się pojazd i w środku ifa ustawiasz pozycję odpowiedniego sprite'a i go rysujesz. Wystarczy tylko chwilkę pomyśleć i pomysł sam przychodzi do głowy :)
P-69997
hincu
» 2012-11-27 19:21:30
sprite.Rotate( kat );   tyle wystarczy
P-70002
akwes
» 2012-11-27 19:22:21
hincu, to nie jest odbicie lustrzane... Jeżeli to nie jest grafika w widoku z góry, to Twoja metoda jest zła.

Odbicie można uzyskać tak:
C/C++
sprite.setScale( sf::Vector2f( - 1, 1 ) );

oraz analogicznie na Y

C/C++
sprite.setScale( sf::Vector2f( 1, - 1 ) );

Ewentualnie ustawienie ujemnej wysokości. http://en.sfml-dev.org/forums/index.php?topic=8286.0
P-70003
wimmie
Temat założony przez niniejszego użytkownika
» 2012-11-27 23:29:49
Dzięki serdeczne panowie! Zrobiłem sposobem @Mrovqa bo sposobem @akwes coś mi nie pasowało. Sporo się nauczyłem swoją drogą. Pozdrawiam
P-70030
« 1 »
  Strona 1 z 1