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

[SFML]Jak poruszyć sprajt?

Ostatnio zmodyfikowano 2012-11-11 20:04
Autor Wiadomość
DanielSC
Temat założony przez niniejszego użytkownika
[SFML]Jak poruszyć sprajt?
» 2012-11-11 15:44:21
Jak można poruszyc sprajt2?O to kod:

C/C++
#include <SFML/Graphics.hpp>
#include <iostream>
using namespace std;
using namespace sf;
int mapa[ 3 ][ 10 ] =
{
    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
    { 1, 1, 1, 1, 2, 1, 1, 1, 1, 1 },
    { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }
};


//szerokoϾ i wysokoϾ kafla
int szer = 40, wys = 40;
int main()
{
   
   
    Image obrazek1, obrazek2, obrazek3;
   
    obrazek1.LoadFromFile( "tlo.png" );
    obrazek2.LoadFromFile( "ludek1.png" );
    obrazek3.LoadFromFile( "3.png" );
   
    Sprite sprajt1;
    Sprite sprajt2;
    Sprite sprajt3;
   
    sprajt1.SetImage( obrazek1 );
    sprajt2.SetImage( obrazek2 );
    sprajt3.SetImage( obrazek3 );
   
    RenderWindow aplikacja( VideoMode( 800, 600, 32 ), "Mapa" );
    aplikacja.SetFramerateLimit( 60 );
    while( aplikacja.IsOpened() )
    {
        const sf::Input & sterowanie = aplikacja.GetInput();
        Event zdarzenie;
        while( aplikacja.GetEvent( zdarzenie ) )
        {
            if( zdarzenie.Type == Event::Closed )
                 aplikacja.Close();
           
        }
        aplikacja.Clear( Color( 0, 0, 0 ) );
        for( int y = 0; y < 3; y++ )
        {
            for( int x = 0; x < 10; x++ )
            {
               
               
               
               
                if( mapa[ y ][ x ] == 1 )
                     sprajt1.SetPosition( wys * x, szer * y );
               
                aplikacja.Draw( sprajt1 );
                if( mapa[ y ][ x ] == 2 )
                     sprajt2.SetPosition( wys * x, szer * y );
               
                aplikacja.Draw( sprajt2 );
                if( mapa[ y ][ x ] == 3 )
                     sprajt3.SetPosition( wys * x, szer * y );
               
                aplikacja.Draw( sprajt3 );
               
                if( mapa[ x ][ y ] == 1 && sterowanie.IsKeyDown( sf::Key::Left ) )
                     sprajt2.Move( - 1, 0 );
               
                sprajt2.GetPosition();
                if( mapa[ x ][ y ] == 1 && sterowanie.IsKeyDown( sf::Key::Right ) )
                     sprajt2.Move( + 1, 0 );
               
                sprajt2.GetPosition();
                if( mapa[ x ][ y ] == 1 && sterowanie.IsKeyDown( sf::Key::Up ) )
                     sprajt2.Move( 0, - 1 );
               
                sprajt2.GetPosition();
                if( mapa[ x ][ y ] == 1 && sterowanie.IsKeyDown( sf::Key::Down ) )
                     sprajt2.Move( 0, + 1 );
               
                sprajt2.GetPosition();
            }
        }
       
       
        aplikacja.Display();
    }
    return 0;
}
P-68995
DejaVu
» 2012-11-11 16:50:13
C/C++
sprajt2.GetPosition();
Czy Ty w ogóle rozumiesz co piszesz...?

http://cpp0x.pl/kursy/Wytwarzanie-Gier-2D-C++ /Wprawianie-obiektow-gry-w-ruch/415
P-69001
DanielSC
Temat założony przez niniejszego użytkownika
» 2012-11-11 20:04:05
Rozumiem :D Bawiłem się tylko kodem.
P-69016
« 1 »
  Strona 1 z 1