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

[SFML 2.0] Scrollowanie zapętlanie obrazka program

Ostatnio zmodyfikowano 2012-11-06 10:51
Autor Wiadomość
wojownik266
Temat założony przez niniejszego użytkownika
[SFML 2.0] Scrollowanie zapętlanie obrazka program
» 2012-11-06 10:51:13
Po uruchomieniu programu w lewym rogu okienka powinien pojawić się obrazek który przesuwa się wzdłuż lewej krawędzi okna  do dołu a następnie w prawo po osi x. Po dotarciu do prawej krawędzi okna , przesuwa się pionowo w górę po osi y. To wszystko jest dokładnie tym co chciałem. Teraz pytanie- Jak zapętlić ten program  aby po wykonaniu tego co wyżej napisałem wracał do punktu wyjścia i zaczynał nowy obieg? 

C/C++
#include <SFML/Graphics.hpp>
#include <cmath>
#include <algorithm>
const int SZER_EKR = 640;
const int WYSO_EKR = 480;

int main()
{
    sf::RenderWindow window( sf::VideoMode( SZER_EKR, WYSO_EKR, 32 ), "TabScroll" );
    sf::Texture stat;
    stat.loadFromFile( "wrogi_statek.png" );
    sf::Sprite Stat( stat );
    float tab_x[ 16 ] = { 0, 40, 80, 120, 160, 200, 220, 260, 300, 340, 380, 420, 460, 500, 540, 640 };
    float tab_y[ 16 ] = { 0, 40, 80, 120, 160, 200, 320, 260, 300, 340, 380, 400, 420, 440, 460, 480 };
   
    while( window.isOpen() )
    {
        sf::Event Event;
        while( window.pollEvent( Event ) )
        {
            if( Event.type == sf::Event::Closed )
            {
                window.close();
            }
        }
        for( int i = 0; i < 16; ++i )
        {
            if( tab_x[ i ] >= 0 && tab_x[ i ] <= 40 ) {
                tab_y[ i ] += 0.05;
                Stat.setPosition( tab_x[ 0 ], tab_y[ 0 ] );
            }
            if( tab_y[ i ] >= 200 && tab_x[ i ] <= 40 ) {
                tab_x[ 0 ] += 0.05;
                Stat.setPosition( tab_x[ 0 ], tab_y[ 4 ] );
            }
            if( tab_x[ 0 ] >= 600 && tab_x[ 0 ] <= 640 ) {
                tab_y[ 0 ] -= 0.05;
                Stat.setPosition( tab_x[ 0 ], tab_y[ 0 ] );
            }
           
           
        }
        window.clear();
        window.draw( Stat );
        window.display();
    }
    return EXIT_SUCCESS;
}
P-68609
« 1 »
  Strona 1 z 1