From bfe5051bac246db7e932b0372b78f066485701e2 Mon Sep 17 00:00:00 2001 From: Aaron Mueller Date: Thu, 13 Jan 2011 23:43:21 +0100 Subject: [PATCH] Some experiments with fullscreen/windowed switching --- pongr/pong.pb | 59 ++++++++++++++++++++++++++++++++++++++++--------- pongr/pongr.pbp | 6 ++--- 2 files changed, 51 insertions(+), 14 deletions(-) diff --git a/pongr/pong.pb b/pongr/pong.pb index 3c34918..d371856 100644 --- a/pongr/pong.pb +++ b/pongr/pong.pb @@ -2,24 +2,61 @@ ; Very simple game to get started with PureBasic and the game development. ; 2011 - Ruben Mueller, Aaron Mueller -Procedure DrawMenuBackground(screen) - StartDrawing(WindowOutput(screen)) - Box(0, 0, 800, 600, RGB(0, 0, 0)) - StopDrawing() +fullscreen = 0 +title.s = "Pongr - Build " + Str(#PB_Editor_BuildCount) + +Procedure DrawOnScreen() + CreateSprite(0, 20, 20) + If StartDrawing(SpriteOutput(0)) + Box(0, 0, 20, 20, RGB(255, 0, 155)) + Box(5, 5, 10, 10, RGB(155, 0, 255)) + StopDrawing() + EndIf EndProcedure +; Initialize subsystems +If InitSprite() = 0 Or InitKeyboard() = 0 + MessageRequester("Error", "Sorry, cant boot up.", 0) + End +EndIf + ; Start the main loop which will create the window, wait for events and draw things ; on the screen. To escape from this loop, press ESC or close the window. -screen = OpenWindow(#PB_Any, 0, 0, 800, 600, "Pongr - Build " + Str(#PB_Editor_BuildCount), #PB_Window_ScreenCentered) -If screen > 0 - DrawMenuBackground(screen) +If OpenWindow(0, 0, 0, 800, 600, title, #PB_Window_ScreenCentered) + If OpenWindowedScreen(WindowID(0), 0, 0, 800, 600, 0, 0, 0) + EndIf + Repeat - event = WaitWindowEvent() - Until event = #PB_Event_CloseWindow + ; Event loop + Repeat + event = WindowEvent() + Until event = 0 + + ; Handle input + ExamineKeyboard() + ; Does not work properly ... + ; http://www.purebasic.fr/german/viewtopic.php?f=4&t=23730&p=285175 + If KeyboardPushed(#PB_Key_F) + CloseScreen() + If fullscreen = 0 + OpenScreen(800, 600, 32, title) + fullscreen = 1 + Else + OpenWindowedScreen(WindowID(0), 0, 0, 800, 600, 0, 0, 0) + fullscreen = 0 + EndIf + EndIf + + ; Draw the stuff on the screen + FlipBuffers() + ClearScreen(RGB(0, 200, 0)) + DrawOnScreen() + Delay(1) + Until KeyboardPushed(#PB_Key_Escape) EndIf - ; IDE Options = PureBasic 4.51 (Linux - x64) -; CursorPosition = 19 +; CursorPosition = 37 +; FirstLine = 8 ; Folding = - ; EnableXP ; EnableCompileCount = 0 diff --git a/pongr/pongr.pbp b/pongr/pongr.pbp index 275a427..4bdc030 100644 --- a/pongr/pongr.pbp +++ b/pongr/pongr.pbp @@ -10,12 +10,12 @@
- +
- +
@@ -24,7 +24,7 @@ - +