 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 30.09.2003, 21:17 Titel: |
|
|
Nichts, bloß bei Vectoren kannst du mithilfe des Indexoperators zugreifen:
Code: | for(int i=0; i<Gamestates.m_SpriteList.size();i++)
{
if(Gamestates.m_SpriteList[i].m_Collision>=1)
{
//Blablabla
}
} |
_________________ 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 |
|
 |
LeeDiGer Super JLI'ler

Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 30.09.2003, 21:22 Titel: |
|
|
Merkwürdig dass es nicht funktioniert. Aber vielleicht liegts an der Deklaration. Da ist mir etwas interessantes aufgefallen.
Worin liegt denn hier der Unterschied zwischen zeile 1 und 2:
vector<STeams> Teams
vector<STeams*> Teams
???
Das könnte erklären warum das eine funktioniert und das andere nicht. _________________ Kein Rückzug! Kein Aufgeben! |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 30.09.2003, 21:48 Titel: |
|
|
Das mit dem Laden meinte ich so:
Pseudocode... bin zu kaputt für ein komplettes Beispiel:
Code: |
handle = öffne_datei;
anzahl = lese_integer(handle); // Dateiheader = Anzahl der Elemente
i = 0;
solange i kleiner anzahl tue:
sprite * tmp = new sprite();
tmp->lade(handle); // Die Lade-Methode ließt die benötigten Werte, allokiert Speicher, berechnet Werte etc etc.
sprite_liste.push_back(tmp);
schließe_datei(handle);
|
Das Speichern ist noch etwas einfacher:
Code: |
handle = öffne_datei;
schreibe_integer(handle, sprite_liste.size());
für jedes element n in sprite_liste tue:
// n sei ein STL Iterator
(*n)->speichern(handle);
schließe_datei(handle);
|
Ich hoffe das war einigermaßen verständlich... so jetzt mach ich Schluss, bin schon halb bewusstlos. ;P _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
LeeDiGer Super JLI'ler

Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 30.09.2003, 22:13 Titel: |
|
|
Hazel, ich hoffe mal, dass dein code so pseudo ist, dass "handle" bei dir in deinem beispiel mehrere bedeutungen hat, sonst müsste die lese und schreibfunktion total falsch sein. Deine Idee habe ich verstanden. ich guck mal, obs damit funktioniert. Wenn nicht, dann bitte ich um einen richtigen code. _________________ Kein Rückzug! Kein Aufgeben! |
|
Nach oben |
|
 |
LeeDiGer Super JLI'ler

Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 30.09.2003, 22:59 Titel: |
|
|
Es geht immer noch nicht. Ich zeig mal was ich probiert habe:
Code: | //Speichervorgang für eine Liste
Datei = fopen("Noname.sav", "wb");
Counter1=Gamestates.m_BackgroundList.size();
fwrite(&Counter1,sizeof(int),1,Datei);
for(it=Gamestates.m_BackgroundList.begin();it!=Gamestates.m_BackgroundList.end();it++)
fwrite(*it,sizeof(CSprite),1,Datei);
fclose(Datei);
//Ladevorgang für eine Liste
Datei = fopen("Noname.sav", "rb");
fread(&Counter1,sizeof(int),1,Datei);
for(i=0; i<Counter1 ;i++)
{
CSprite* Temp = new CSprite;
fread(&Temp,sizeof(CSprite),1,Datei);
Gamestates.m_BackgroundList.push_back(Temp);
}
fclose(Datei); |
Kann mir einer sagen, was da wieder nicht in ordnung sein soll? _________________ Kein Rückzug! Kein Aufgeben! |
|
Nach oben |
|
 |
Hazel JLI MVP


Alter: 40 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 01.10.2003, 07:09 Titel: |
|
|
Du hast meinen Code nur Teilweise verstanden...
Hazel hat Folgendes geschrieben: | Du solltest deiner Sprite Klasse einfach eine Methode zum laden und eine zum Speichern schreiben. Zeiger zu speichern bringt's nicht. |
Zitat: |
Hauptsache du speicherst keine sinnlosen Daten ab (Zeiger, ganze Texturen, berechenbare Werte,...). Hauptsache dir fällt es leicht das einzubauen und zu verstehen.
|
[Nachtrag]
Dir das programmieren? Nee, gugg mal was in deiner Signatur steht! ;P _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
 |
LeeDiGer Super JLI'ler

Anmeldedatum: 31.08.2003 Beiträge: 366 Wohnort: Duisburg Medaillen: Keine
|
Verfasst am: 01.10.2003, 20:03 Titel: |
|
|
Es soll mir keiner was vorprogrammieren. Ich muss ja nur wissen ob ich da mit meiner Technik wieder nen Denkfehler eingebaut hab. Und meine signatur gilt nur für den Jason aus Karate Tiger. _________________ Kein Rückzug! Kein Aufgeben! |
|
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
|