[SFML 2.0] Kamera w grze 2D
Ostatnio zmodyfikowano 2012-12-25 08:10
ridic14 Temat założony przez niniejszego użytkownika |
[SFML 2.0] Kamera w grze 2D » 2012-12-10 17:28:57 Hmm chodzi o to jak poruszać kamerą w grze...
na razie zauważyłem że nie można przemieszczać "kamery" i postaci na raz...
Postanowiłem że będę przemieszczał samą kamerę lecz myślę nad tym jak to zrobić... Myślę że dobrze by było użyć klasy sf::View w sfml ale jak tego używam to wszystko zniekształca. Jak można to zrobić(w teori)? |
|
Mrovqa |
» 2012-12-10 20:25:40 Zdefiniuj sobie klasę od kamery (pozycja, szerokość, wysokość, itp) i po prostu przy renderowaniu obrazki renderujesz na pozycji obrazek-kamera. |
|
DejaVu |
» 2012-12-10 23:10:06 jako drugi argument do metody Draw podajesz sf::Transform. |
|
ridic14 Temat założony przez niniejszego użytkownika |
» 2012-12-11 18:00:14 |
|
DejaVu |
» 2012-12-12 01:09:20 |
|
Nindix |
» 2012-12-12 11:53:41 Przy okazji DejaVu, pytanie może nie na temat. Kiedy pojawią się kolejne kursy SFML 2.0, bo nie mogę się doczekać ? :D |
|
ridic14 Temat założony przez niniejszego użytkownika |
» 2012-12-12 17:17:13 Bo to zakamuflowane to RenderStates to ma w sobie kilka rzeczy!!!! The transform: how the object is positioned / rotated / scaled |
czyli może być sprite.getTransform()? Może tak: sf::RectangleShape shape; shape.setSize( sf::Vector2f( 100, 100 ) ); shape.setPosition( 100, 100 );
App.draw( shape, shape.getTransform() );
P.S. może nie doczytałem ale co daje ten transform można ustalać pozycję itp. a w funkcji draw(a, a.getTransform()), zmienia pozycję itp obiektu a? Edit 3(bo tam kod i ps.) do tego p.s. to mam odpowiedź że tak(np. tra.rotate(.1f, 150, 150 ); App.draw( shape, tra ); )
Edit 4: Kamera: sf::Transform dla każdego obiektu i w pętli : tra.translate( przemieszczenie kamery X, przemiesczenie kamery Y );
|
|
Unnamed789 |
» 2012-12-23 03:49:48 |
|
« 1 » 2 |