Animation Vector

fabioclm

20-10-2009 00:04:31

Hi,

I have a textbox in my software and i want do write some words then anim word by word. I already had the vector with actions but i don't know how i can do to anim in order and when all vector was read stop animation.

Help me please.

Thanks.

fabioclm

20-10-2009 04:50:20

A little piece of code.


def playClick(self,interpretedText):
firstAnimation = interpretedText[0]

for i in interpretedText:
print i
self.animations.append(i)



def _createFrameListener(self):
print self.headEnt
self.frameListener = SkeletalAnimationFrameListener(self.renderWindow, self.camera, self.headEnt, self.animations)
self.root.addFrameListener(self.frameListener)

class SkeletalAnimationFrameListener(fm.FrameListener):

animationState = None

def __init__(self, renderWindow, camera, entity, animations):
fm.FrameListener.__init__(self, renderWindow, camera)
self.entity = entity
self.animations = animations

self.animationState = self.entity.getAnimationState('letra_a')
self.animationState.setLoop(True)
self.animationState.setEnabled(True)

def frameStarted(self, frameEvent):
print len(self.animations)
if len(self.animations) > 0:
strAction = self.animations.pop()
self.animationState = self.entity.getAnimationState(strAction)
self.animationState.setLoop(True)
self.animationState.setEnabled(True)
else:
self.animationState = self.entity.getAnimationState('letra_a')
self.animationState.setLoop(True)
self.animationState.setEnabled(True)

self.animationState.addTime(frameEvent.timeSinceLastFrame)
return fm.FrameListener.frameStarted(self, frameEvent)


when self.animations <= 0 thw animation is great. If a single animation are add it's ok.. but if i insert a text with a lot of words don't work.