Hi,
The following code should do what you want using the viztask module:
Code:
import viz
viz.go()
male = viz.add('male.cfg',pos=(0,0,6),euler=(180,0,0))
male.state(1)
import viztask
def execute():
while True:
yield viztask.waitKeyDown(' ')
#Execute animation with no delay out
male.execute(7,delay_out=0.0)
#Wait for animation to complete
yield viztask.waitAnimationEnd(male,7)
#Set animation state with no delay
male.state(8,delay=0.0)
#Restore standing pose after 1 second
yield viztask.waitTime(2)
male.state(1)
viztask.schedule( execute() )
If you prefer using actions, then the following code should work as well:
Code:
import viz
viz.go()
man = viz.add('male.cfg')
def onKeyUp(key):
if key == ' ':
man.addAction(vizact.animation(7,0,0))
#Place avatar in laying state
man.addAction(vizact.state_node(8,0.0))
man.addAction(vizact.waittime(2))
#Place avatar in standing state
man.addAction(vizact.state_node(1))
viz.callback(viz.KEYUP_EVENT,onKeyUp)