[SFML] Kolizja kwadratow
Ostatnio zmodyfikowano 2011-07-06 23:47
diego997 Temat założony przez niniejszego użytkownika |
[SFML] Kolizja kwadratow » 2011-07-06 22:15:40 Zmodyfikował by mi ktoś ten kod tak że jak zielonym kwadratem najadę na biały to program się zamknie ? Chyba przez analizę lepiej bym to zrozumiał. #include <SFML/Graphics.hpp> #include <iostream>
int main() { sf::RenderWindow Okno; Okno.Create( sf::VideoMode( 800, 600, 32 ), "Okno" ); const sf::Input & sterowanie = Okno.GetInput(); sf::Image obraz; obraz.Create( 20, 20, sf::Color::White ); sf::Sprite sprajt; sprajt.SetImage( obraz ); sprajt.SetColor( sf::Color::Green ); sprajt.SetScale( 4, 4 ); sprajt.SetPosition( 400, 300 ); sprajt.SetCenter( obraz.GetWidth() / 2, obraz.GetHeight() / 2 ); sf::Sprite sprajt1; sprajt1.SetImage( obraz ); sprajt1.SetPosition( 100, 200 ); sprajt1.SetCenter( obraz.GetWidth() / 2, obraz.GetHeight() / 2 ); while( Okno.IsOpened() ) { sf::Event zdarzenie; while( Okno.GetEvent( zdarzenie ) ) { if( zdarzenie.Type == sf::Event::Closed ) Okno.Close(); } if( sterowanie.IsKeyDown( sf::Key::Left ) ) sprajt.Move( - 0.2, 0 ); if( sterowanie.IsKeyDown( sf::Key::Right ) ) sprajt.Move( 0.2, 0 ); if( sterowanie.IsKeyDown( sf::Key::Up ) ) sprajt.Move( 0, - 0.2 ); if( sterowanie.IsKeyDown( sf::Key::Down ) ) sprajt.Move( 0, 0.2 ); Okno.Clear( sf::Color( 100, 149, 237 ) ); Okno.Draw( sprajt ); Okno.Draw( sprajt1 ); Okno.Display(); } }
|
|
akwes |
» 2011-07-06 22:31:31 Wykorzystaj z artykułu o kolizjach gotowy kod kolizji. mniejwięcej: if( CzyKolizja( pkt_1, pkt_2 ) ) Okno.Close();
|
|
diego997 Temat założony przez niniejszego użytkownika |
» 2011-07-06 23:18:28 A podał byś mi linka do tego godzine temu przeszukałem całe forum wpiszujac w wyszukiwarce kolizje i znalazłem tylko jeden kod który odradzał Dejavu.
P.S akwes i mówisz że wystarczą tylko dwie współrzędne ?? |
|
akwes |
» 2011-07-06 23:47:47 http://cpp0x.pl/forum/temat?id=4603 Absolutnie nie. pkt_1 i pkt_2 to klasa która musi mieć współrzędną X, Y oraz znać swoją h(wysokość) oraz w(szerokość). W temacie opisane jest wszystko : ) |
|
« 1 » |