Aktuelle Zeit: 12.05.2025, 23:11

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 16.07.2009, 12:38 
Offline

Registriert: 05.09.2007, 15:01
Beiträge: 103
Hiho, ich hab ne Frage =D

Also: Kann man eine geladene *.Irr Datei mitten im Programmablauf löschen, wenn ja wie? Ich möchte NUR die Scene Löschen, Dinge wie Items oder Waffen will ich beibehalten...

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 16.07.2009, 13:59 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Du musst dir merken, welche Nodes aus der Datei geladen wurden. Die kannst du dann einzeln löschen.

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
BeitragVerfasst: 16.07.2009, 16:29 
Offline

Registriert: 05.09.2007, 15:01
Beiträge: 103
Hm ok... also da ich ja meiner IrrSzene ganz am anfang Kollision hinzufüge werden die Nodes in einem Array gespeichert, dieses Array will ich wiederverwenden beim Löschen der Nodes aber irgendwie stürzt mein Spiel immer beim auslösen dieser Funktion ab (keine Fehlermeldung oder sonstwas es kommt einfach dieser Klassische Fehler mit den "Senden/Nicht senden" Buttons :/

Hier werden die Nodes gelöscht bzw. versuche ich es hier:
Code:
for (u32 i=0; i < nodes.size(); ++i)
{
      nodes[i]->remove();
}


Und hier wird das Array gefüllt:

Code:
core::array<scene::ISceneNode *> nodes;

int addMap(const c8* path)
{
    smgr->loadScene(path);

   smgr->getSceneNodesFromType(scene::ESNT_ANY, nodes);
.
.
.
}


Die beiden Funktionen (addMap und deleteMap befinden sich in der selben Datei :>)

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 16.07.2009, 17:57 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
Warum benutzen eigentlich so wenig Softwareentwickler den debugger?
Ein debugger wird dich niemals fragen, ob du einen Fehlerbericht senden willst, sondern er wird dir in deinem Code die stelle zeigen, an der es kracht, dir einen schönen Callstack liefern, und dir auch anzeigen welche Variablen welchen Wert haben.

Ich geh mal davon aus, dass du ein Node löscht, von dem auch kinder in deinem Array sind.

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
BeitragVerfasst: 16.07.2009, 23:55 
Offline

Registriert: 05.09.2007, 15:01
Beiträge: 103
So... die Szene wird gelöscht...wenn ich jetzt allerdings in der neuen Szene Kollision hinzufügen will kratzt das Programm wieder ab -.-

Ich lösche nach dem löschen der Nodes sämtliche Animators der Kamera, erstelle die Kamera neu und erstelle den MetaSelector neu danach lass ich die Szene laden, genau so wie beim start des Programms nur diesmal will irgendwas nicht richtig klappen...


[Edit]

Ok habs hinbekommen... es lag an den Waffen die als Child an der Kamera hingen. Diese wurden durch remove mitgelöscht und beim repositionieren der Waffen beim laden der neuen Szene kam es zum Crash

_________________
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 18.07.2009, 01:18 
Offline

Registriert: 05.09.2007, 15:01
Beiträge: 103
Sorry für doppelpost aber sonst liest das warscheinlich niemand mehr^^

Also das oben beschriebene Problem ist nun ja behoben, jetzt hab ich folgendes Problem: Die Framerate in meinem Programm sinkt beim laden der 2ten Szene extrem, ich habe bemerkt das immernoch die Lichter der ersten Szene vorhanden sind und nun weiss ich nicht ob die Meshs ebenfalls noch in meinem Ram herumlungern. Reicht es nicht die Nodes mithand "remove()" zu entfernen?

_________________
Bild


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de