Vindicator209 Posted May 10, 2008 Share Posted May 10, 2008 Well, I'm making a game that involves being able to add a little bit of time(or off in my case) to a timer, but how do I do this? [center]"When you look at old, classic games like Snake, you often put it off because it's such a simple game, but it's only when you actually try and create your own unique game from scratch, do you finally appreciate those games."[/center][center]Don't ask for answers if you haven't TRIED yet![/center][center]Most answers can be answered in the help file! Use it![/center] Link to comment Share on other sites More sharing options...
Generator Posted May 10, 2008 Share Posted May 10, 2008 Have you looked in TimerInit ( )oÝ÷ Ù©Ýjëh×6#Include <Date.au3> _TicksToTime($iTicks, ByRef $iHours, ByRef $iMins, ByRef $iSecs) Link to comment Share on other sites More sharing options...
Generator Posted May 10, 2008 Share Posted May 10, 2008 Old Edit destroys the AutoIt Tags Example in the help file ; *** Demo to show a timer window #include <GUIConstants.au3> #include <Date.au3> opt("TrayIconDebug",1) Global $Secs, $Mins, $Hour, $Time ;Create GUI GUICreate("Timer",120, 50) GUICtrlCreateLabel("00:00:00", 10,10) GUISetState() ;Start timer $timer = TimerInit() AdlibEnable("Timer", 50) ; While 1 ;FileWriteLine("debug.log",@min & ":" & @sec & " ==> before") $msg = GUIGetMsg() ;FileWriteLine("debug.log",@min & ":" & @sec & " ==> after") Select Case $msg = $GUI_EVENT_CLOSE Exit EndSelect Wend ; Func Timer() _TicksToTime(Int(TimerDiff($timer)), $Hour, $Mins, $Secs ) Local $sTime = $Time ; save current time to be able to test and avoid flicker.. $Time = StringFormat("%02i:%02i:%02i", $Hour, $Mins, $Secs) If $sTime <> $Time Then ControlSetText("Timer", "", "Static1", $Time) EndFunc ;==>Timer Link to comment Share on other sites More sharing options...
PCode Posted May 10, 2008 Share Posted May 10, 2008 First, I need to know how long I want the timer to countdown. $timeMinimum = 60000 // This would be one minute, or 60 seconds--60000 in milliseconds To start the timer, I would need one more variable. $timeStart = TimerInit() Now you need to check the time. I'm assuming you have some sort of loop. If not just make a do-until loop. Here is the algorithm to check for time: If TimerDiff($timeStart) <= $timeMinimum Then // do something EndIf You'd put whatever code you want to execute when the timer runs out in the "// do something" part of the algorithm. Now, to add time to the timer, all you need to do is add it to $timeMinimum. $timeMinimum = $timeMinimum + 10000 // This adds 10 seconds, which is 10000 miliseconds. Finally, you'll probably want to have some way to know how much time is left, or to display the time. $timeLeft = $timeMinimum - TimerDiff($timeStart) I'm guessing you'll know how to display this number. It will be in milliseconds. You can use Round($timeLeft,-3) to convert it into seconds. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now