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

C++ Nieprawidłowy ruch SFML

Ostatnio zmodyfikowano 2019-07-07 20:02
Autor Wiadomość
R0ut4
Temat założony przez niniejszego użytkownika
C++ Nieprawidłowy ruch SFML
» 2019-07-07 18:43:17
Witam, czytjąc kurs na tej stronie chciałem pójść nieco dalej, jednak napotkałem problem z ruchem "gracza". Ruch jest o 5 pikseli jednak po puszczeniu klawisza "gracz" wraca na miejsce "spawnu". Poniżej zamieszczam kod:
C/C++
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>

void setPosition( float x, float y );
void move( float X, float Y );

int main()
{
    //ustawianie tekstury
    sf::Texture tekstura;
    sf::Texture gracz;
    //wczytanie tekstur
    tekstura.loadFromFile( "tekstura.png" );
    gracz.loadFromFile( "gracz.png" );
    //ustawianie sprite (obrazka)
    sf::Sprite loch;
    sf::Sprite player;
    //nadanie tekstur obrazkowi
    loch.setTexture( tekstura );
    player.setTexture( gracz );
   
    //tworzy okno
    sf::RenderWindow okno( sf::VideoMode( 800, 600, 32 ), "KURS" );
    okno.setFramerateLimit( 30 );
    while( okno.isOpen() )
    {
        sf::Event zdarzenie;
        while( okno.pollEvent( zdarzenie ) )
        {
            if( zdarzenie.type == sf::Event::Closed )
            {
                okno.close();
            }
        }
        okno.clear();
        //gdzie.co robi(co rysuje);
        okno.draw( loch );
        okno.draw( player );
        player.setPosition( 110, 105 );
        if( sf::Keyboard::isKeyPressed( sf::Keyboard::Right ) )
        {
            player.move( 5, 0 );
        }
        else if( sf::Keyboard::isKeyPressed( sf::Keyboard::Left ) )
        {
            player.move( - 5, 0 );
        }
        else if( sf::Keyboard::isKeyPressed( sf::Keyboard::Up ) )
        {
            player.move( 0, - 5 );
        }
        else if( sf::Keyboard::isKeyPressed( sf::Keyboard::Down ) )
        {
            player.move( 0, 5 );
        }
        okno.display();
    }
    return 0;
}
P-174898
pekfos
» 2019-07-07 20:02:20
Nigdzie się nie ruszy, bo w pętli ciągle resetujesz pozycję.
P-174899
« 1 »
  Strona 1 z 1