To nie wyjątek. To błąd programu.
Co masz na myśli pisząc "błąd programu"?
Przed zacytowanym zdaniem jest jeszcze:
Unhandled exception at 0x772A22D2 (ntdll.dll) in nazwa_gry.exe: 0xC0000005: Access violation writing location 0x00000004.
Poza tym ja jeszcze żadnego obiektu owej klasy nie utworzyłem - błąd wynika z utworzenia obiektu statycznego w pliku .cpp tj. 'Texture Tile::obrazek;' - jak likwiduję tą linię kodu to gra się normalnie włącza...
Bardzo podobny problem [5 sekund googla]:
http://4programmers.net/Forum/C_i_C++/226863-sfml_-_statyczny_obiekt_sftexture
5 sekund googla i pudło... Znaleziony wątek nie rozwiązuje mojego problemu...
pokaż cały SetTextures. Tworząc zmienne statyczne tworzysz jeden egzemplarz a nie osobne do każdego obiektu klasy więc nie wiem czemu "texture"s"
Cały kod jest bardzo zbliżony do pokazanego, z tą różnicą, że jest więcej textur (dlatego textures) i blokada na wypadek wielokrotnego wywołania funkcji. Wygląda to tak:
class Tile
{
public:
static void SetTextures()
{
if(!loaded)
{
loaded = true;
obrazek1.loadFromFile(...);
obrazek2.loadFromFile(...);
obrazek3.loadFromFile(...);
//...
}
}
private:
static Texture obrazek;
Sprite sprite;
static Texture obrazek1;
static Texture obrazek2;
static Texture obrazek3;
//...
static bool loaded;
};
//.cpp
Texture Tile::obrazek1;
Texture Tile::obrazek2;
Texture Tile::obrazek3;
bool Tile::loaded = false;
EDIT:
Huh, oki doky. Mam prośbę: czy mógłby ktoś sprawdzić, czy może w ogóle utworzyć obiekt Texture globalnie w SFML 2.1 najlepiej w Vs 2013? Bo okazuje się, że (przynajmniej u mnie) obiektu globalnego textury również nie mogę utworzyć - wywala mi wyjątek przy odpaleniu gry...
EDIT2:
znalazłem coś takiego: http://en.sfml-dev.org/forums/index.php?topic=12815.0 - to chyba wyjaśnia sprawę... ;/