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

[SFML] Pomoc w poruszaniu spritem.

Ostatnio zmodyfikowano 2015-11-08 12:59
Autor Wiadomość
Kajtex
Temat założony przez niniejszego użytkownika
[SFML] Pomoc w poruszaniu spritem.
» 2015-11-07 10:47:43
Witam! Jako ,że jestem niezwykle początkujący, proszę o pomoc w poruszaniu spritem. Oto mój kod:
C/C++
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow okno( sf::VideoMode( 1000, 600, 32 ), "Programik :)" );
   
   
    while( okno.isOpen() )
    {
        sf::Event Zdarzenie;
        sf::Texture Teksturka;
        sf::Sprite Kula;
        Teksturka.loadFromFile( "C:\\Users\\Kajtek\\Documents\\Projekty C++\\SFML_Projekt\\Kula.jpg" );
        Kula.setTexture( Teksturka );
        Kula.setPosition( 75, 75 );
        sf::Vector2f position = Kula.getPosition();
        while( okno.pollEvent( Zdarzenie ) )
        {
            Kula.setPosition( Kula.getPosition() );
            if( Zdarzenie.type == sf::Event::KeyPressed && Zdarzenie.key.code == sf::Keyboard::Escape )
                 okno.close();
           
            if( Zdarzenie.type == sf::Event::KeyPressed && Zdarzenie.key.code == sf::Keyboard::A )
            { okno.clear( sf::Color( 192, 134, 250 ) );
                okno.draw( Kula ); }
            if( Zdarzenie.type == sf::Event::KeyPressed && Zdarzenie.key.code == sf::Keyboard::B )
                 okno.draw( Kula );
           
            if( sf::Keyboard::isKeyPressed( sf::Keyboard::Right ) )
            {
                okno.clear();
                Kula.move( 10, 0 );
                okno.draw( Kula );
            }
           
            if( sf::Keyboard::isKeyPressed( sf::Keyboard::Left ) )
            {
                okno.clear();
                Kula.move( - 10, 0 );
                okno.draw( Kula );
            }
           
            okno.display();
        }
       
       
    }
}
Ktoś mi powie, jak zrobić, by kulka mogła się poruszać po całej mapie a nie tylko w dwa miejsca?

Z góry dziękuję :)
P-139733
1aam2am1
» 2015-11-07 19:58:28
po pierwsze sf::Keyboard::isKeyPressed nie jest zależne od eventów więc to poza pętle
2. Prędkość jest zależna od pętli programu więc albo zrobisz timer albo ogranicz ilość klatek na sekundę
P-139782
Kajtex
Temat założony przez niniejszego użytkownika
» 2015-11-08 12:59:17
A jak zrobić timer ,który mi pomoże? Bo ograniczyłem i nic nie dało :(
EDIT: Wyciągnąłem deklarakcje zmiennych przed pętlę i chodzi xD
P-139808
« 1 »
  Strona 1 z 1