Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Zitat
Hast du das FVF für den Ball gesetzt?
Zitat
ich find das sieht n bisschen so aus, als würde es dein ball objekt gar nicht geben, dass die render funktion aufruft... irgend wo ist da ein null-pointer.
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Verwendete Symbole vordeklarieren class CGame; // Klasse für einen Ball class CBall { public: CGame* m_pGame; // Zeiger auf die Spielklasse // Konstruktor inline CBall() {ZeroMemory(this, sizeof(CBall));} // Methoden tbResult Move(float fTime); // Bewegen tbResult Render(float fTime); // Rendern ... ... }; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
tbResult CBall::Render(float fTime) { tbMatrix mWorld; // Ball rendern tbDirect3D& D3D = tbDirect3D::Instance(); D3D.Instance().SetTransform(D3DTS_WORLD, tbMatrixTranslation(GetAbsPosition())); m_pGame->m_pBallModel->Render(); // hier der fehler return TB_OK; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// Klasse für das Spiel class CGame { public: // Variablen tbModel* m_pBallModel; tbModel* m_apBlockModel[3]; // Konstruktor inline CGame() {ZeroMemory(this, sizeof(CGame));} // Methoden tbResult Init(); tbResult Exit(); tbResult Load(); tbResult Unload(); tbResult Move(float fTime); tbResult Render(float fTime); ... ... }; |
Zitat von »"defaultplayer"«
wenn ich übrigens irgendwas mit dem zeiger auf die spielklasse (m_pGame von CGame*) von den balldateien mache, gibts wieder einen absturz. bei den würfeln aber nicht!
Zitat
hä? na dann is die sache ja wohl klar, oder nicht? dein m_pGame wird nicht richtig initialisiert.
Zitat
guck doch einfach mal wann du dieser variblen was zuweist (wenn überhaupt).
C-/C++-Quelltext |
|
1 |
m_pGame->m_pBallModel->Render(); |
C-/C++-Quelltext |
|
1 |
int a = m_pGame->m_vBallPosition.x; |
Zitat
Autsch ... was soll denn dieses ZeroMemory da? Wo kopiert ihr sowas unkonformes immer her?!
hat, wär ich ihm sehr dankbar!Zitat
dein m_pGame wird nicht richtig initialisiert
Zitat
das ist keine zuweisung, aber trotzdem von sehr großer bedeutung: das rendern:
Zitat
du sollst den codeabschnitt zeigen, wo du m_pGame irgendwas zuweist bzw. wo du dein ball objekt erstellst!
C-/C++-Quelltext |
|
1 |
CGame* m_pGame; // Zeiger auf die Spielklasse |
C-/C++-Quelltext |
|
1 |
tbModel* m_pBallModel;
|
Werbeanzeige