Pausing an application
Blitz3D Forums/Blitz3D Beginners Area/Pausing an application
| ||
| How can you pause an application? I want to be able to press the spacebar and the application will pause, when i press another key it will resume. I looked for a pause or halt command but with no luck thanks |
| ||
| 1) Monitor for a spacebar keypress 2) When it happens, change a global gamestate variable to a value (of your own choosing) that signifies "paused" 3) When it comes time to draw your screen, instead of rendering the game display, render a paused display instead. 4) When unpause occurs, change the gamestate variable to "playing" So in your loop (that occurs multiple times per second), you would have something like this (perhaps):
Const GS_PLAYING = 0
Const GS_PAUSED = 1
Global gamestate = GS_PLAYING
While Not KeyHit(1)
Select gamestate
Case GS_PLAYING
; Draw Game, check for game keypresses, etc
Case GS_PAUSED
; Draw paused screen, check for unpause keypress, etc
End Select
Wend
|
| ||
| or for a quick pause try: waitkey. it waits, as the name suggests, for a key to be pressed. Also, mousewait. Note: The game will be completely stopped until you press a key or click the mouse. Soja's example is the right way to go if you want a pause screen or something similar. |
| ||
If you use WaitKey(), I think you'll need to FlushKeys first or it won't work properly. Something like:If KeyHit(57) then FlushKeys : WaiyKey() |