SFML C++ Zapisanie pozycji gracza
Ostatnio zmodyfikowano 2019-07-12 21:30
R0ut4 Temat założony przez niniejszego użytkownika |
» 2019-07-12 09:12:24 To ma być "skok" |
|
sppmacd |
» 2019-07-12 21:30:24 Są lepsze sposoby. bool kolizja( sf::Sprite sprite, sf::Vector2f off ) { sf::Rect aabb( sprite.getPosition() + off, WIELKOSC_GRACZA ); sf::Rect innyaabb( 0, 0, 100, 100 ); if( aabb.intersects( innyaabb ) ) return true; return false; } bool move( sf::Sprite sprite, sf::Vector2f off ) { if( !kolizja( sprite, off ) ) { sprite.move( off ); return true; } else return false; }
sf::Vector2f predkosc; bool skok = false;
if( sf::Keyboard::isKeyPressed( Keyboard::Up ) && !skok ) { predkosc.y -= PREDKOSC_SKOKU; skok = true; } predkosc.y += GRAWITACJA; move( postac, predkosc );
Trzeba sobie tylko zdefiniować te stałe Vector2f WIELKOSC_GRACZA, Vector2f PREDKOSC_SKOKU, float GRAWITACJA |
|
1 « 2 » |