..Flushkeys..
BlitzMax Forums/BlitzMax Programming/..Flushkeys..
| ||
| ..im just wondering, is there a way to perform sort of FlushKeys() command but only for specific character ? |
| ||
Function flushOneKey(keycode%) KeyHit(keycode) EmitEvent (CreateEvent(EVENT_KEYUP,, keycode)) End Function |
| ||
| Just calling the Key_hit function for the specific key was enough for me... This caused the key to be buffered and the jump executed at the next available opportunity (pseudo code)..
if ( not OnGround )
continuejump()
else
if ( keyhit( key_space ) )
jump()
end if
end if
Whereas, checking the key every update was what I needed to to..
local wantJump:Int = keyhit( key_space )
if ( not OnGround )
continuejump()
else
if ( wantJump )
jump()
end if
end if
|
| ||
I would say:Function FlushOneKey(keycode:Int) While KeyHit(keycode);Wend End Function |
| ||
| While KeyHit(keycode);Wend KeyHit returns count of hitings from last call of KeyHit/FlushKey, and set counter to 0. So a While/Wend is not neccesary. |