Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

SFML i przemieszczanie obrazka

Ostatnio zmodyfikowano 2015-05-19 21:09
Autor Wiadomość
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

C/C++
#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 ]
P-132505
RazzorFlame
» 2015-05-19 17:07:48
Uzyj sf::Sprite::move() zamiast sf::Sprite::setPosition()
P-132506
pulson666
Temat założony przez niniejszego użytkownika
» 2015-05-19 17:17:54
faktycznie mój błąd dzięki
P-132507
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).  
P-132524
« 1 »
  Strona 1 z 1