[SFML 1.6] Odbicie lustrzane sprite'a przy sterowaniu.
Ostatnio zmodyfikowano 2012-11-27 23:29
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ć. 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 |
|
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 :) |
|
hincu |
» 2012-11-27 19:21:30 sprite.Rotate( kat ); tyle wystarczy |
|
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: sprite.setScale( sf::Vector2f( - 1, 1 ) );
oraz analogicznie na Y sprite.setScale( sf::Vector2f( 1, - 1 ) );
Ewentualnie ustawienie ujemnej wysokości. http://en.sfml-dev.org/forums/index.php?topic=8286.0 |
|
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 |
|
« 1 » |