PDA

View Full Version : getduration


dominic
09-07-2005, 02:00 PM
Hi,

I have the following code in a director function. I want to turn the head of an avatar and want to wait till its done before I do anything else. How can I get the duration of the just created animation?

avatar = viz.add('male.cfg')
look_at = avatar.headto(angle,0,0)
avatar.act(look_at)

viz.waittime(avatar.getduration(look_at))# didnt work

thanks,

dominic

farshizzo
09-07-2005, 02:14 PM
Hi,

The getduration function only works on built-in animations of the avatar. There is no command that will return the duration of an action. However, you can use a callback to know when the action is finished. Here is a sample script that will load an avatar and perform a look action on it. It will print out a message when the action is finished:import viz
viz.go()

avatar = viz.add('female.cfg')
avatar.translate(0,0,3)
avatar.rotate(180,0,0)
avatar.state(1)

look_at = avatar.headto(45,0,0,20)
avatar.add(look_at)

def onActionEnd(object,action,pool):
if object == avatar and action == look_at:
print 'Avatar is finished looking'

viz.callback(viz.ACTION_END_EVENT,onActionEnd)