Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 12, 2025 19:42

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: LevelSpeichern
BeitragVerfasst: Do Dez 14, 2006 16:46 
Offline
DGL Member

Registriert: So Aug 20, 2006 23:19
Beiträge: 564
Tja nu geht es halt auch mal wieder daran. Das letzte Mal habe ich das per XML gemacht und es ging recht gut. Dennoch wollte ich mal an dieser Stelle fragen:
Was nehmt ihr, um Level zu speichern und warum?
Nutzt ihr .dat, .xml, was anderes, eigene Formate?

Also Xml war eindeutig der Vorteil, dass es recht einfach zu bedienen war und die Baumstruktur sehr uebersichtlich ist.
Vorteil und Nachteil ist die Veraenderungsmöglichkeit
Nachteile sind langsamer Zugriff und Speicherintensivitaet.


Aber nu lasst mal Eures Hören, will jetz nicht mit etwas anfangen, was am ende eh unsinnig ist, weil ich es dann doch aender.

Danke


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 14, 2006 17:30 
Offline
DGL Member

Registriert: So Sep 26, 2004 05:57
Beiträge: 190
Wohnort: Linz
Für dich XML für alle anderen Binärformat. Schreib dir einen Konverter für XML->Binärformat, sollte ja nicht so der Aufwand sein und dann schreib dir noch einen Loader für das Binärformat, so dass du nach belieben zwischen XML und Binär wechseln kannst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 14, 2006 17:37 
Offline
DGL Member

Registriert: So Aug 20, 2006 23:19
Beiträge: 564
Ich habe nicht die leiseste Ahnung, wie sowas geht. Habe bei Google http://www.stylusstudio.com/binary_xml.html# gefunden, aber weiss nich, ob es das ist. Wenn ja verstehe ich die Methode nicht.
gibs dazu evtl nen Tut?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 14, 2006 17:41 
Offline
DGL Member

Registriert: Di Jun 06, 2006 09:59
Beiträge: 474
Ich würde sagen das hängt ganz vom leveltyp ab. Bei einem level das ein 2D array von wenigen byte großen einträgen ist, würde ich eher zu binär tendieren. Bei einem Level das aus Objekten aufgebaut ist, eher zu xml. Bei großen Leveln die du mit xml speichern willst, solltest du wie schon gesagt am besten einen xml->bin konverter schreiben.

XML-Parser gibt es einige, kannst ja mal auf torry.net schaun


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 14, 2006 20:43 
Offline
DGL Member

Registriert: So Sep 26, 2004 05:57
Beiträge: 190
Wohnort: Linz
Ich meine dass du das "manuell" machen kannst. Für jedes XML-File kannst du ein gleichwertiges Binär-Format finden. Und für jedes Binär-Format kannst du ein zumindest gleichwertiges XML-File erstellen.

Hin und wieder hast du eine sehr sehr einfache Schnittstelle, wo du einfach einfach einen Namen (oder Filenamen) angibst und dieses Level möchtest du laden. Also in der Art:

Code:
  1.  
  2. class LevelLoader
  3. {
  4. public:
  5.   Level *GetLevel( char *Name );
  6. };


Wenn dem so ist, dann überschreibst du in einem Binärfile-LevelLoader die eine Funktion, oder prüfst sogar in dieser Funktion ob der Filename mit .xml oder anders endet.

Wenn du eine klein wenig komplexere API hast, also angefangen mit mehreren Elementen im selben File welche über Namen identifiziert werden, dann musst du halt dein Binär-Format auch entsprechend anpassen. Ein gängigeres Beispiel dürfte hier User Interface sein, wo du mehrere UI-Elemente in ein und demselben File gespeichert haben kannst. Hier hast du dann zB so eine API:

Code:
  1. class UILoader
  2. {
  3. public:
  4.   void OpenFile( char *Filename );
  5.   UIElem *GetUIElem( char *ID );
  6. };


Hier könntest du im UI-Daten-File die einzelnen UIElemente als Array (oder indizierte Liste oder wie auch immer) abspeichern. Damit du sie dann immer noch über einen String als ID identifizieren kannst legst du dir halt noch ein 2tes File an wo du die Zuordnung von String zu ID abspeicherst, entweder direkt als Hashtable oder als Liste oder so.

Je komplexer deine Schnittstelle sein soll, desto komplexer wird natürlich auch die Umwandlung von XML->Binär und auch umgekehrt (wobei umgekehrt noch weniger schlimm wenn es nicht allzu benutzerfreundlich sein muss).


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]