Verbesserungen
-
Fasse dein Spiel einfach als endlichen Automaten auf:
enum GameState {Menue, InGame, Highscore, Pause, Shutdown, ...}; GameState GameState = Menu; while(true) { switch(GameState) { case Menue: Menue(); break; case InGame: InGame(); break; ... case Shutdown: Shutdonw(); return 0; case default: cout<<"Kein gueltiger Gamestate"<<endl; return -1; } }
-
Gimli26 schrieb:
Ja , dann bin wohl zu doof!
Ich wär trotzdem dankbar, wenn jemand was Konstruktives zu sagen hätte!Definitiv. was Konstruktives.
Bye, TGGC (Keine Macht den Dummen)
-
Meine Fresse, warum kommen nur noch so allgemeine Fragen?!?
Kannst Du vielleicht mal was genauer werden, woran es scheitert?!?
Kannst Du mal sagen, was Du Dir SELBER dazu schon überlegt hast?!?s. Vertexwahn oben mit GameStates
- bei bestimmter Eingabe (z.B. SPACE) den GameState = MENU setzen
War das Dein Problem? - in der Renderfunktion je nach GameState entweder das Spiel rendern (INGAME) oder das Menü (MENU)
War das Dein Problem? - man sollte ggf. auch in der Update-Funktion bzw. der Timing-Funktion, ob man überhaupt INGAME ist, ansonsten überspringen -> Auto-Pause wenn man im Menü ist
War das Dein Problem? - in der Eingabefunktion auch checken, ob INGAME oder MENU, im MENU dann nur auf Cursor-Up / Down und Enter reagieren, z.B.
War das Dein Problem? - im Menü selber vielleicht eine eigene Statemachine: Aktueller State ist der ausgewählte Menüpunkt. So kann man "dynamische" Menüs bauen, z.B. daß "Laden" als Menüpunkt immer übersprungen wird, wenn noch nie im Leben was gespeichert wurde
War das Dein Problem? - bei Druck auf Enter im MENU dann je nachdem reagieren, neustarten des Levels oder so
War das Dein Problem?
==================
Eine TimeLastKeyPressed Variable mit 0 initialisieren und in Deiner Update / Timing-Funktion mit hochzählen lassen.
Sobald Du in Input() einen Tastendruck registrierst, diese wieder auf 0 setzen.Noch Fragen?

- bei bestimmter Eingabe (z.B. SPACE) den GameState = MENU setzen
-
Also,
erst mal danke für das Konstruktive! Aber ich meinte nicht, dass ich Probleme hab den Status abzufragen!
Da habe ich mich wohl unklar ausgedrückt! Tschuldigung!
Ich meine konkret, das Menüfenster! Muß man das als Childfenster implementieren, wie erzeuge ich einen CommandButton, usw...Das mit dem Timer muß ich mal ausprobieren, aber zählt das wirklich die Sec, das zählt doch dann eher die Funktionsaufrufe, oder!

Übrigens wußt ich nich, dass es in dem Forum zugeht, wie in nem Visa- Ausschuss!

Knallhart seid Ihr ja!Ach ja @ TGGC: Dein Kommentar, aber wieder nich!

-
> Ich meine konkret, das Menüfenster! Muß man das als Childfenster implementieren, wie erzeuge ich einen CommandButton, usw...
soll ich dir die Dokumentation vorlesen?
-
Vertexwahn schrieb:
> Ich meine konkret, das Menüfenster! Muß man das als Childfenster implementieren, wie erzeuge ich einen CommandButton, usw...
soll ich dir die Dokumentation vorlesen?
Welche Dokumentation

Ich bin Dir echt dankbar, dass Du versucht hast mir zu helfen, aber ich hab keine Lust, dass ich meine Fragen hier vor Dir Recht fertigen muß!
-
Naja.... also das DX nich Windows is und dass es da keine Child Fenster gibt, weißt du 'jetzt'!
Vielleicht hilft dir das:
if(iGameState == 1) { // Render das Gotverdammte Spiel! } else if(iGameState == 2) { // Menü! }auf gut deutsch:
Wenn du das Spiel nich renderst, bzw. die Funktionen nich durchlaufen werden, bleibt es stehn...Wenn du nu dass Menü renderst und auch alle Abfragen in so ne Abfrage wie oben reinbaust, dann is eben das Menü aktiv ...
// edit:
Die Variable iGameState musst du selber deklarieren, is nich Systemintern
!ansonsten *LOL*
cya WirrWar2850.
-
Welche Dokumentation? was willst du den benutzen WinAPI? gibts dafür etwa keine Dokumentation? gibts dafür nicht haufenweiße Tutorials (bzw. Bücher)? Bist du überhaupt mit deiner Frage im richtigen Forum? (hört sich mehr nach winApi an - aber die werden dir da auch nicht weiterhelfen, wenn du unfähig bist dir die gründzüge selber beizubringen
-
Gimli26 schrieb:
Da habe ich mich wohl unklar ausgedrückt! Tschuldigung!
Ja. Und jetzt schon wieder...

Gimli26 schrieb:
Ich meine konkret, das Menüfenster! Muß man das als Childfenster implementieren, wie erzeuge ich einen CommandButton, usw...
Sag uns doch einfach was Du machen willst...

a) Willst Du in Deine Windowed-DirectX-Applikation ein Menü einbauen?
WinAPI
b) Oder willst Du davon unabhängig ein customized Menü in Deinem Spiel?Gimli26 schrieb:
Das mit dem Timer muß ich mal ausprobieren, aber zählt das wirklich die Sec, das zählt doch dann eher die Funktionsaufrufe, oder!

Nein, ein Timer zählt Zeit...

-
Sgt. Nukem schrieb:
Gimli26 schrieb:
Da habe ich mich wohl unklar ausgedrückt! Tschuldigung!
Ja. Und jetzt schon wieder...

Gimli26 schrieb:
Ich meine konkret, das Menüfenster! Muß man das als Childfenster implementieren, wie erzeuge ich einen CommandButton, usw...
Sag uns doch einfach was Du machen willst...

a) Willst Du in Deine Windowed-DirectX-Applikation ein Menü einbauen?
WinAPI
b) Oder willst Du davon unabhängig ein customized Menü in Deinem Spiel?Gimli26 schrieb:
Das mit dem Timer muß ich mal ausprobieren, aber zählt das wirklich die Sec, das zählt doch dann eher die Funktionsaufrufe, oder!

Nein, ein Timer zählt Zeit...

Dein Timer zählt aber Schleifendurchgänge!

Danke für Eure Hilfe, hab mittlerweile alles hinbekommen..........
-
Gimli26 schrieb:
Dein Timer zählt aber Schleifendurchgänge!

Nö...

-
Danke für Eure Hilfe, hab mittlerweile alles hinbekommen..........
siehste? geht doch
einfach mal selber nach ein paar Tutorials gucken oder mal www.win-api.de in die Browserzeile eingeben und ein Blick in die Dokumentation und schon sind die ersten Hürden geschafft und man kann sich unnötige Postings sparen