sfml 2.1 obrazek się nie wyświetla
Ostatnio zmodyfikowano 2014-01-07 14:54
oval Temat założony przez niniejszego użytkownika |
sfml 2.1 obrazek się nie wyświetla » 2014-01-03 17:23:14 Witam, Tworzę prostą gierkę (klocki spadają z góry, a player na dole do nich strzela). Mam 2 klasy, jedna do obsługi playera a druga do "klocków". Player wyświetla się elegancko, natomiast zamiast klocków mam tylko białe kwadraty. Kodzik gracza (działający): class Player { public: sf::Sprite rect; sf::Texture titleImage; Player( sf::Vector2f position ) { rect.setPosition( position ); titleImage.loadFromFile( "pictures/player.jpg" ); rect.setTexture( titleImage ); } }; Player p1( sf::Vector2f( szerokosc_okna / 2, wysokosc_okna - 100 ) ); Window.draw( p1.rect );
Kod który wyświetla białe kwadraty zamiast obrazków: class Klocek { public: sf::Sprite rect; sf::Texture titleImage; Klocek( sf::Vector2f position ) { rect.setPosition( position ); titleImage.loadFromFile( "pictures/buzka.jpg" ); rect.setTexture( titleImage ); } };
std::vector < Klocek > klocki; klocki.push_back( Klocek( sf::Vector2f( rand() % szerokosc_okna, 1 ) ) );
for( unsigned int i = 0; i < klocki.size(); i++ ) { Window.draw( klocki[ i ].rect ); }
pod linkiem macie cały kod klas i funkcji main(): http://pastebin.com/FDLN0Y79edit: zauważyłem, że po kolizji następuje koniec gry i restart. Po restarcie przez niecałą sekundę widać ładnie obrazki, więc może to coś z vectorem i jego wymazywaniem pokićkałem ? ;/ |
|
MrPoxipol |
» 2014-01-03 18:26:13 Tekstura jest nie wczytana.. (wg objawów, sprawdź co wypluwa konsola), a i ładowanie tekstury przy każdym stworzeniu obiektu nie jest optymalne. |
|
pekfos |
» 2014-01-03 18:33:48 Zdefiniuj poprawny konstruktor kopiujący. W przy kopiowaniu obiektu, sprajt jest powiązany z teksturą z oryginalnego obiektu, który potem jest niszczony. |
|
Estivo |
» 2014-01-05 23:33:45 oval nie radziłbym kopiować ot tak sobie sf::Texture. |
|
fortas |
» 2014-01-07 14:54:31 Wykorzystaj wskaznik przy vectorze: std::vector < Klocek* > klocki; Ewentualnie skorzystaj z referencji dla tekstury. |
|
« 1 » |