This code loops three times
Code:
object = [1, 0, 0] #1 means duck, 0 means ball
#Create an array of timer action
myTimerAction = []
for x in range(3):
if (x == 0) :
myTimerAction.append(vizact.ontimer2(0, 1, donothing))
path[object[0]].play()
else:
wait = time_to_go[x] - time_to_go[0]
myTimerAction.append(vizact.ontimer2(wait, 1, path[object[x]].play))
The first time the duck's animation path is played. The second time a timer object is created that will repeat one time, so the ball's path will be played twice and the third time another timer object is created that will repeat one time, and the ball's path should be played two more times for a total of four times. I think the reason you see the ball move around three times has something to do with your reset code.