You can use
viztask.waitAll to wait for a specified set of actions to complete. Here is an example:
Code:
import viz
import vizact
import viztask
viz.go()
Object1 = viz.add('beachball.osgb',pos=(-1,2,5))
Object2 = viz.add('soccerball.osgb',pos=(1,2,5))
def MainTask():
yield viztask.waitKeyDown(' ')
spin1 = vizact.spinTo(euler=[90,0,0], speed=45)
spin2 = vizact.spinTo(euler=[0,90,0], speed=45)
waitSpin1 = viztask.waitTask( viztask.addAction(Object1, spin1) )
waitSpin2 = viztask.waitTask( viztask.addAction(Object2, spin2) )
yield viztask.waitAll( [waitSpin1, waitSpin2] )
print 'finished'
viztask.schedule( MainTask() )