View Single Post
  #1  
Old 01-14-2008, 10:10 AM
JPWann JPWann is offline
Member
 
Join Date: Aug 2007
Posts: 2
Question Repeating timer_callbacks in for_loops

This is a beginners Q, as I have clearly missed something about how timers can be embedded in loops:

I have a function with a timer-callback so I can do frame-by-frame manipulations to a ball in flight. I can run repetitions of this ball-flight using a second timer as below:

def ballfunc(a,b,c,d,e):
. StartT = viz.tick()
. def balltimer(timernum):
. ball.setScale....etc...
.
. viz.callback(viz.TIMER_EVENT,balltimer)
. viz.starttimer(1,0.02,48)
vizact.ontimer2(2,10,ballfunc,0,0,-1,1,0.5)

But what I actually want is to nest ballfunc in a for_loop so I can pass it different parameters for each repetition. But my clumsy attempts to do this don't work (see below). How do I run, say 10 reps of ballfunc with different parameters passed to it each time ?:

def BallFlight():
. for i in range(0,9):
.. ball.setPosition(ball.initial)
.. yield viztask.runAction(ball,ballfunc(0,0,-1,1,SCALESEQ[i]))
.. yield viztask.waitTime(2)
viztask.schedule( BallFlight() )

Last edited by JPWann; 01-14-2008 at 10:12 AM.
Reply With Quote