2D against GUI
BlitzPlus Forums/BlitzPlus Programming/2D against GUI
| ||
As some of you already know, I'm trying to create an application in 2D mode seeing as GUI mode is very limited. I've created a fairly decent design, which Im proud of but this is where the problem lies... Seeing as I cant use the WaitEvent() command (I dont think I can anyway), I have to use the repeat/forever or while/wend commands. Now the very first window you'd come to in this program is just a simple background with a few buttons on, which link to other windows. So I quickly bashed up a window with a small loop that, at the moment, only includes Cls:FlipCanvas (Canvas). This isnt really a problem, except, when I check the current CPU state, its at a constant 100% when I have the program running. If anyone of you could give me a few tips to help me on this part, it'd be cool. Thanks. Edit: I forgot to mention, these buttons will have a simple 'roll-over' effect, and when I've scrapped it down on paper, comes to more than a couple IF commands. |
| ||
Try chucking a delay into your main loop, this will free up some cpu time. |
| ||
Graphics 640,480,0,2 SetBuffer BackBuffer() timer_input = CreateTimer(10) ; checks 10 times a second for user input timer_screen = CreateTimer(4) ; redraws the screen 4 times a second font = LoadFont("Arial",60) SetFont(font) Repeat Select WaitEvent() ;timer event Case $4001 Select EventSource() ;Update user input Case timer_input If KeyDown(1) FreeTimer(timer_input) FreeTimer(timer_screen) FreeFont(font) End End If ;Update screen Case timer_screen ClsColor Rand(0,255),Rand(0,255),Rand(0,255) Cls Color Rand(0,255),Rand(0,255),Rand(0,255) Text 5,5,"Press esc to quit" Flip End Select End Select Forever |