WaitEvent() after PeekEvent() to get EventSource()
BlitzPlus Forums/BlitzPlus Beginners Area/WaitEvent() after PeekEvent() to get EventSource()
| ||
I call WaintEvent() after PeekEvent() gives me something, so that I can check EventSource() etc. Is there a downside doing code like this? There isn't a need for FlushEvents if I call WaitEvent() whenever PeekEvent() gives an event, right?Event = PeekEvent() If Event <> 0 Then Event = WaitEvent() ... do something about the events... |
| ||
some people, honestly.... Here is one for you.... asd asg 356 eg 57u 5h3 57u 5736u 36u ? Any ideas? |
| ||
uh Fox.. o_O What's so difficult about a normal typical daily boring loop? Like this: Repeat Delay 2 Waitevent() If EventID()=$803 quit=true If EventID()=$401 If EventSource()=button01 EndIf If EventSource()=button02 EndIf If EventSource()=button03 EndIf ; etc. EndIf If EventID()=$201 If EventSource()=MyCanvas EndIf EndIf Until quit Don't make things more difficult than they are.. |
| ||
By doing as fox suggests it means that it loops regardless off whether there is an event. |
| ||
And what if my loop is inside a timer ? |
| ||
CS_TBL, There are a good number of reasons. The main reason being that my game logic is not based on waiting for events to occur. I also prefer to have clean code, and wrapping all the event based code within a single IF is a big plus from that viewpoint. |
| ||
Say you have 2 windows, one working on a canvas and one with a set of gadgets. You don't want to have to press a button or do somthing everytime you want somthing to happen on the canvas. |
| ||
Which is why I'd put that update routine inside a timer :) |
| ||
I do it like this:Repeat Select WaitEvent(0) Case $803 Exit ; Other event handling goes here End Select ; Game logic code goes here Forever WaitEvent() doesn't have to wait! |