Programm pausieren

i123

Mitglied
Guten Tag,
habe mal wieder ein kleines Problem mit meinem neuen Programm... Ich entwickle zurzeit ein Spiel und würde gerne eine Pause Funktion einbaun.

Habe eine Funtkion gefunden die sich "sleep" nennt, aber brauche sie etwas anders.

Ich habe einen Button der sich "Pause" nennt, wenn man drauf drückt soll das Programm pausieren, und ein Text kommen wie "PAUSE", und sowas wie "P = (Pause) um weiterzuspielen eine beliebige Taste drücken".

Wie kann ich das am besten machen?
 
Ich habe auch so eine Art Spiel (eher ein Karteneditor, aber ist ja vom Prinzip her ähnlich). Die Applikation ist dabei in verschiedenen Stati. Zum Bespiel STATE_MENU, STATE_IN_WORLD, STATE_SELECTION, usw...

Dann hab ich zum Beispiel die Funktion:
Code:
void MainMenu::Draw(void)
{
       if(sApplication.GetState() != STATE_MENU)
            return;
}

Dadurch wird geregelt, was gerendert wird und was nicht. In deinem Beispiel könnte man ja zum Beispiel machen:
Code:
void Camera::HandleMovement(void)
{
        if(sApplication.GetState() == STATE_PAUSED)
              return;
}

Damit wird ja dann beispielsweise schonmal die Kamera eingefroren. Das kannst du dann auch bei weiteren Funktionen entsprechend einbauen.

Gruss
Cromon
 
Hmm

danke, aber das hilft mir nicht wirklich, da bei mir alles "angehalten" wird / soll.

Es gibt einen Button "Pausieren", dann soll halt ein Text wie "Pause" kommen und erst beim drücken einer neuen Taste solls weitergehen...

Wie mache ich das am besten, das alles Pausiert ist, dass man keinen Button oder anderes mehr drücken kann...

mfg
 
Wie "läuft" dein Spiel denn? Benutzt du DirectX? Oder einen .Net-Timer? Ein paar mehr Informationen wären nicht schlecht.
 
Hi.

Wie Cromon beschrieben hat, kannst du dir den Zustand des Programms merken, und je nachdem in welchem Zustand du dich befindest reagiert dein Programm anders.

Bei deinen Aktionen kannst du dann prüfen ob es im aktuellen Zustand zulässig ist (oder nicht).

Eine eingebaute "PauseWhileNotPressedP"-Funktion gibts nicht ;)

lg,..
 
Hatte da nun eine andere Idee, weiß nur net wirklich ob sie funktioniert.
Man hat ein Bild was Transparent ist wo z.b. Pause steht, das bild ist etwas "abgedunkelt" und dieses Bild blendet man über die aktuelle Form, meine Frage nun ist, sieht man dann noch denn Hintergrund? Also z.b. denn Spielstand usw. ?

Danke aber schonmal an "Cromon" das hat mich schonmal bissl weitergebracht...
 
Kommt halt ganz draufan was du zum Rendern verwendest. Sofern diese Engine Alphablending unterstützt ist das kein Problem.
 
Hat alles bestens geklappt, auch mit dem Bild... Vielen dank für die schnelle Hilfe wieder hier :)
 
Zurück