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

[SFML2] Biały sprite

Ostatnio zmodyfikowano 2012-11-18 12:34
Autor Wiadomość
bingo009
Temat założony przez niniejszego użytkownika
[SFML2] Biały sprite
» 2012-11-14 20:27:26
Witam was serdecznie i znowu ten sam problem :/ Mianowicie biały Sprite. Otóż mam klasę Tilę, dziedziczącą od sf::Sprite. Kiedy tworzę obiekt normalnie w głównym obiekcie gry i próbuję go wyświetlać, to działa jak należy. Gorzej, jeżeli próbuję wywołać metodę rysowania z wnętrza innego obiektu. W konstruktorze i funkcji drawTile jest coś takiego:
C/C++
Tile::Tile( const char * sciezka, int w, int h )
{
    if( !tex.loadFromFile( sciezka ) ) ready = false;
   
    rect.width = w;
    rect.height = h;
    setTexture( tex );
    setTextureRect( rect );
    ready = true;
}

Tile::Tile( const char * sciezka, int x, int y, int w, int h )
{
    if( !tex.loadFromFile( sciezka ) ) ready = false;
   
    rect.left = x;
    rect.top = y;
    rect.width = w;
    rect.height = h;
   
   
    setTexture( tex );
    setTextureRect( rect );
    ready = true;
}

void Tile::drawTile()
{
    Game::returnInstance().draw( * this );
}

Teraz w innym obiekcie tworzę sobię kontener std::vector tych obiektów:
C/C++
GameMap::GameMap( int ile_kafli2, int w2, int h2, const char * sciezka )
{
    ile_kafli = ile_kafli2;
    w = w2;
    h = h2;
    for( int i = 0; i < ile_kafli2; ++i )
    {
        Tile tiles( sciezka, i * w2, 0, w2, h2 );
        Tiles.push_back( tiles );
    }
}

Ładują się prawidłowo, jednak kiedy z obiektu typu GameMap próbuję wywołać taką metodę:
C/C++
Tiles[ 0 ].drawTile();

Zamiast Sprite'a dostaję jakiś biały kwadrat i na tym koniec. Proszę was o pomoc i wyjaśnienia(znowu to samo).
P-69269
DejaVu
» 2012-11-15 16:45:31
Eh...
Frazy, które należy wpisać w wyszukiwarkę google:
weź w końcu ten krótki kod do zarządzania teksturami, a problemów mieć nie będziesz.
Frazy, które należy wpisać w wyszukiwarkę google:

/edit:
http://cpp0x.pl/forum/temat/?id=8398
http://cpp0x.pl/forum/temat/?id=6840
P-69310
bingo009
Temat założony przez niniejszego użytkownika
» 2012-11-18 12:34:04
Dzięki i przepraszam za kłopot. Pomogło zadeklarowanie tekstury ze słowem kluczowym static, w konstruktorze.
P-69462
« 1 »
  Strona 1 z 1