Update a timer while wait_event is waiting?

BlitzMax Forums/BlitzMax Beginners Area/Update a timer while wait_event is waiting?

Chroma(Posted 2005) [#1]
I have a timer in my game that I need to update each cycle but the Wait_Event is obviously waiting for mouse input. How update my timer to display in realtime while waiting for an event?


Chroma(Posted 2005) [#2]
PollEvent is working...I did it again...

Anywho, since CurrentTime() returns the time in a string anyone know how to use this to make a timer but not have to parse the string and do the math manually? Trying to make a simple timer base on the clock.

As in: New_Time = CurrentTimer() - Start_Time


Eric(Posted 2005) [#3]
I'm an novice for sure, but can't you create an Event with createTimer(60)

And look for the Event
EVENT_TIMERTICK



Dreamora(Posted 2005) [#4]
You mean as with MilliSecs() which is the one you might want to use for timing stuff.


Chroma(Posted 2005) [#5]
I mean for just doing a simple timer showing hours:minutes:seconds.

I'd like to use the CurrentTime() var somehow.


Perturbatio(Posted 2005) [#6]
Graphics 640,480,0,0


While Not KeyDown(KEY_ESCAPE)
Cls

Local Time:TList = SplitString(CurrentTime(), ":")

Local hours:Int = String(Time.ValueAtIndex(0)).ToInt()
Local minutes:Int = String(Time.ValueAtIndex(1)).ToInt()
Local seconds:Int = String(Time.ValueAtIndex(2)).ToInt()

DrawText(hours+" : " + minutes + " : " + seconds, 10, 10)

Flip

Wend


Function SplitString:TList(inString:String, Delim:String)
	Local tempList : TList = New TList
	Local currentChar : String = ""
	Local count : Int = 0
	Local TokenStart : Int = 0
	
	If Len(Delim)<>1 Then Return Null
	
	inString = Trim(inString)
	
	For count = 0 Until Len(inString)
		If inString[count..count+1] = delim Then
			tempList.AddLast(inString[TokenStart..Count])
			TokenStart = count + 1
		End If
	Next
	tempList.AddLast(inString[TokenStart..Count])	
	Return tempList
End Function




FlameDuck(Posted 2005) [#7]
TTimer objects (retruned by CreateTimer) fire off events, so should break "WaitEvent"
SuperStrict


Graphics 32,32

Local myTimer:TTImer = CreateTimer(1)

While EventID() <> EVENT_KEYDOWN
	WaitEvent
	If EventID() = EVENT_TIMERTICK
		Print "Timer has ticked " + TimerTicks(myTimer) + " times"
	EndIf
EndWhile