Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Plasmarain Mini JLI'ler
Anmeldedatum: 21.11.2003 Beiträge: 37
Medaillen: Keine
|
Verfasst am: 30.11.2003, 20:21 Titel: Mehrere Level |
|
|
Hallo,
wieder mal eine Frage, wie muß ich ein Spiel aufbauen wenn ich mehrere Level haben möchte? immer wenn ein Level geschaft ist muß ich doch aus der Spieleschleife raus um das neue zu Initialisieren ( Hintergrund neu laden etc.)
Oder wie wird das gemacht?
MFG
Matthias |
|
Nach oben |
|
 |
HotAcid Super JLI'ler

Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 30.11.2003, 20:32 Titel: |
|
|
bei umfangreicheren Spielen sollte man auf jeden Fall seinen Code aus der Spielschleife rausziehen.
Du könntest eine "Verwaltungsklasse" erstellen, die sich darum kümmert, dass immer das gerade aktuelle Level (evtl. auch als Klasse?) angesprochen wird. Auf die Weise brauchst du in der Spielschleife nur noch - vereinfacht - folgende Codezeilen:
Code: | verwaltung.DrawActualLevel();
verwaltung.keyInput(int key); |
cu Felix _________________ StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht. |
|
Nach oben |
|
 |
Plasmarain Mini JLI'ler
Anmeldedatum: 21.11.2003 Beiträge: 37
Medaillen: Keine
|
Verfasst am: 30.11.2003, 21:19 Titel: |
|
|
mit key währe dann das Level, z.B Level 2 gemeint und die Klasse läd dann die passenden komponenten? Oder wie dachtest du das?
Dann lade ich aber andauernt neu oder nicht? (LoadSurfaceFromFile)
Oder lade ich die Hintergründe schon vorher?
Dann brauche ich aber viel platz, z.B bei 20 Level jedes Hintergrundbild X MB..... Das ist viel.
Matthias |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 30.11.2003, 22:10 Titel: |
|
|
Ich hab mir dafür einfach eine eigene Funktion geschrieben, die in einer Schleife die Leveldaten ließt.
Du kannst ja dann auch einen Ladenbalken verwenden und innerhalb dieser Schleife rendern  _________________ 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 |
|
 |
Plasmarain Mini JLI'ler
Anmeldedatum: 21.11.2003 Beiträge: 37
Medaillen: Keine
|
Verfasst am: 30.11.2003, 22:26 Titel: |
|
|
Aber du fragst dann doch immer wieder ab ob überhaupt was geladen werden muß oder wie machst du das?
Code: |
if(!Hintergrund_schon_geladen)
{
LoadFromFile..... // Funktionen zum laden der Sprites und des Surface
.
.
.
Hintergrund_schon_geladen = 1
}
|
So etwa oder?
Und wenn das Level fertig ist dann setze ich Hintergrund_schon_geladen wider auf 0 und der Läd dann ne andere Datei, die ich ihm natürlich vorher sage.
Meint ihr das so?
Dann lade ich also garnicht mehr in der initialisierung (Vor der Spiele schleife wie bei Asteroids sondern alles in der schleife sehe ich das richtig?
Matthias |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 30.11.2003, 22:34 Titel: |
|
|
Nein, ich hab des jetzt z.B. so gemacht(Pseudocode):
Code: | void ReadMap(string mapname)
{
while(!mapende)
{
Map lesen
Initialisieren, etc...
}
} |
Code: | if(entergedrückt && player an leveleingang)
{
string whichlevel=wieauchimmer;
ReadMap(whichlevel);
} |
_________________ 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 |
|
 |
Plasmarain Mini JLI'ler
Anmeldedatum: 21.11.2003 Beiträge: 37
Medaillen: Keine
|
Verfasst am: 30.11.2003, 22:41 Titel: |
|
|
AHA!
Ja super!
Das bringt mich schon weiter,
Danke! |
|
Nach oben |
|
 |
|