SFML i przemieszczanie obrazka
Ostatnio zmodyfikowano 2015-05-19 21:09
pulson666 Temat założony przez niniejszego użytkownika |
SFML i przemieszczanie obrazka » 2015-05-19 16:59:40 Siemka ;) Powiedzmy że napisałem gre gdzie użytkownik używa klawiatury do poruszania kwadratem (góra dół lewo prawo) lecz kwadrat nie chce sie przesuwać :(. Kiedy był ustawiony na (0,0) to działało lecz mogłem zrobić tylko ruch w małym kwadraciku a nie w całym polu ktoś coś ? I jak jeszcze zrobić by obrazek przesuwał się względem ostatniej pozycji ? cpp.sh/5pzf #include <SFML/Graphics.hpp>
using namespace sf;
int main() { RenderWindow window( VideoMode( 640, 480, 32 ), "Rololo" ); Texture tekstura; tekstura.loadFromFile( "kwadrat.jpg" ); Sprite obrazek; obrazek.setTexture( tekstura ); while( window.isOpen() ) { Event first; window.clear( Color::Black ); window.draw( obrazek ); window.display(); if( window.pollEvent( first ) ) { if( first.type == Event::KeyPressed && first.key.code == Keyboard::Up ) obrazek.setPosition( Vector2f( 10, 0 ) ); if( first.type == Event::KeyPressed && first.key.code == Keyboard::Down ) obrazek.setPosition( Vector2f( 0, 10 ) ); if( first.type == Event::KeyPressed && first.key.code == Keyboard::Left ) obrazek.setPosition( Vector2f( 0, - 10 ) ); if( first.type == Event::KeyPressed && first.key.code == Keyboard::Right ) obrazek.setPosition( Vector2f( - 10, 0 ) ); if( first.type == Event::KeyPressed && first.key.code == Keyboard::Escape ) window.close(); } obrazek.setPosition( 100, 80 ); } return 0; } [ \c pp ] |
|
RazzorFlame |
» 2015-05-19 17:07:48 Uzyj sf::Sprite::move() zamiast sf::Sprite::setPosition() |
|
pulson666 Temat założony przez niniejszego użytkownika |
» 2015-05-19 17:17:54 faktycznie mój błąd dzięki |
|
Glazus |
» 2015-05-19 21:09:17 I nie poruszaj się w pętli zdarzeń. Poczytaj o bezpośrednim dostępie do klawiatury/myszy (chociażby w kursie na cpp0x.pl). |
|
« 1 » |