Timer function

game object has a timer method: set_timer(), it suspends the execution of a function for the given number of seconds.

set_timer(n, func, arg1, arg2...)

the parameters for set_timer() are:

n, delayed time in seconds func, the function to be executed after the delay arg1, arg2... the arguments to be supplied to func

We can use the timer to design a series of actions, such as one function runs first, after a few seconds, another function runs.

Example 1:

Suppose we have two predefined functions: fOne() and fTwo():

def fOne():
  print('first action')

def fTwo():
  print('second action')

In a program, we like to call fOne() to execute first, then wait 2 seconds and call fTwo() to execute.

To do this, we will define another function, fMain(), in this function, fOne() is called first, then the timer game.set_timer() is called, in timer we can call fTwo() as one input argument in the following way:

def fMain():
    fOne()
    game.set_timer(2, fTwo)

the timer has two parameters: (2, fTwo), the first is a number 2, referring to the delay time in seconds; next is a function fTwo (name only, without trailing parentheses), that's going to be called after delayed time.

Let call fMain() and 'run' the program, see the results in the console:

fMain()

# a printed message showed right away:
first action
# 2 seconds later, another message:
second action

Example 2:

If the delayed function has parameters, then the input values should be provided in the timer

def fThree(a,b):
  print('third action, a number result: ', a + b)

First call fOne(), then delay 3 seconds and call fThree with input 3,5

fOne()
game.set_timer(3, fThree, 3, 5)

Run and see the console results, right away there is the message:

first action

# after 3 seconds, another message shows

third action, a number result: 8

results matching ""

    No results matching ""