[SFML2] Biały sprite
Ostatnio zmodyfikowano 2012-11-18 12:34
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: 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: 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ę: Zamiast Sprite'a dostaję jakiś biały kwadrat i na tym koniec. Proszę was o pomoc i wyjaśnienia(znowu to samo). |
|
DejaVu |
» 2012-11-15 16:45:31 |
|
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. |
|
« 1 » |