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
|