Moin!
Entschuldigt bitte meine erneute Frage....
.
Ich habe ein kleines Problem mit der SFML, genauer beim Rendern des Backgrounds meines Tic-Tac-Toes. Der Compiler/Linker liefert keine Fehlermeldung, aber das Spiel stürzt immer beim Rendern des Backgrounds mit der (wahrscheinlich allseits bekannten) Meldung "Tic-Tac-Toe.exe funktioniert nicht mehr" ab.
Hier einmal die betreffenden Code-Ausschnitte [Unwichtiges herausgekürzt (z.B. Logausgabe...)]:
(I) Der main-loop:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
|
while (m_pFramework->GetMainWindow ()->isOpen () && m_Winner == 0)
{
m_pFramework->ClearMainScreen ();
RenderBackground ();
ProcessEvents ();
CheckWinner ();
m_pFramework->Flip ();
}
|
(II) Die Funktion "RenderBackground" (bzw. der betreffende Ausschnitt):
|
C-/C++-Quelltext
|
1
2
3
4
|
void CGame::RenderBackground ()
{
m_pFramework->GetMainWindow ()->draw (m_Background); // Mit Hilfe des Debuggers habe ich herausgefunden, dass der Fehler in dieser Zeile passiert
}
|
(III) Der Background wurde vorher in der Funktion "InitBackground" initialisiert:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
|
bool CGame::InitBackground ()
{
if (!m_BackgroundTex.loadFromFile ("Data/Background.png"))
return false;
m_BackgroundTex.setSmooth (true);
m_Background.setTexture (m_BackgroundTex);
return true;
}
|
(IV) Die Funktion "GetMainWindow":
|
C-/C++-Quelltext
|
1
2
3
4
|
sf::RenderWindow* CFramework::GetMainWindow ()
{
return &m_MainWindow;
}
|
Beim Debuggen wird mir die Fehlermeldung
"Unbehandelte Ausnahme bei 0x0031F72C in Tic-Tac-Toe_Console.exe: 0xC0000005: Zugriffsverletzung beim Ausführen an Position 0x0031F72C" ausgegeben.
Ich hoffe, ihr könnt mir helfen, diesen Fehler/das Problem zu lösen
...
Gruß
Feuerente