 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 22.03.2005, 13:21 Titel: |
|
|
War das jetzt ironisch gemeint??? Hier der Destruktor + aufgerufene Methode im Destruktor(kann man sich aber auch selber angucken, ihr habt ja die Bsp. :
JLI-Spieleprogrammierung(JLI-ASTEROIDS) hat Folgendes geschrieben: | CPP: | // Destruktor - Objekte freigeben
CGameManager::~CGameManager()
{
Reset();
}
// Speicher, der für die Sprites reserviert wurde wieder frei geben
void CGameManager::Reset(void)
{
// Variablen zurücksetzen
m_Level = 1;
m_Lives = 3;
m_Points = 0;
// Obejkte in den Listen
for(it=m_AsteroidList.begin();it!=m_AsteroidList.end();it++)
{
delete (*it);
}
// und Listen löschen
m_AsteroidList.clear();
for(it=m_ShotsList.begin();it!=m_ShotsList.end();it++)
{
delete (*it);
}
m_ShotsList.clear();
for(it=m_ExplosionList.begin();it!=m_ExplosionList.end();it++)
{
delete (*it);
}
m_ExplosionList.clear();
} |
|
da werden nur die Listen freigegeben(auch die news, aber net alle) und die ->release(); auch net!!! |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 22.03.2005, 23:12 Titel: |
|
|
Das was hier in der CGameManager-Klasse erstellt und im Destruktor wieder deletet wird, ist eine normale C-Klasse, die Christian erstellt hat(CSprite). Also kann man die Klasse selbst(bzw. eine Instanz davon) nicht releasen.
Schau doch mal in den Destruktor der CSprite-Klasse. Dort wird sich irgendwo auch das Releasen des tatsächlichen Surfaces finden  _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 23.03.2005, 09:16 Titel: |
|
|
Meinst du damit, dass der D3DDevice, der in der Methode init() in den m_lpD3DDevice von CGameManager kopiert wird, gar nicht in der CGameManager-class wiederfreigegeben werden muss?
JLI hat Folgendes geschrieben: | CPP: | void CGameManager::Init(LPDIRECT3DDEVICE9 lpDevice,CResourceManager* lpResManager,DirectXAudio* lpDXAudio)
{
m_lpD3DDevice = lpDevice;
m_lpResManager = lpResManager;
m_lpDXAudio = lpDXAudio;
} |
|
Wenn schon, dann sorry für den ganzen Aufwand Kam mir nur komisch vor, da ich erst die deletes net gefunden hab(später schon) und dann auch der Device un so net mehr hier freigegeben werden musste. Thx für eure Hilfe |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 23.03.2005, 14:49 Titel: |
|
|
DirectXer hat Folgendes geschrieben: | Meinst du damit, dass der D3DDevice, der in der Methode init() in den m_lpD3DDevice von CGameManager kopiert wird, gar nicht in der CGameManager-class wiederfreigegeben werden muss?
|
Hmm...tut mir leid, so weit kenne ich mich mit D3D noch nicht aus. Aber das Freigeben der Sprites/Surfaces, das du in der Gamemanager Klasse nicht gefunden hast, das ist auf jeden Fall in der Sprite-Klasse vorhanden  _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
HomeLess_PunkDrummer JLI Master Trainee

Alter: 36 Anmeldedatum: 28.11.2004 Beiträge: 583 Wohnort: Alter Joghurtbecher an der A4 Medaillen: Keine
|
Verfasst am: 23.03.2005, 14:53 Titel: |
|
|
Nö, dass Ding is doch nur ein Pointer auf das Device, und das Device ist in der CDirect3D-Klasse gespeichert. Da wird es auch wieder kaputtgemacht am Ende  _________________ "Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz." |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 24.03.2005, 09:29 Titel: |
|
|
ok, thx, dann hat soch das erledigt  |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|