def animateArrival(self): """ Cheesy animation introducing viewer to the DESK and TYPEWRITER :return: """ camMoveInterval = LerpPosInterval(self.base.camera, 2, self.cameraTarget) camHprInterval = LerpHprInterval(self.base.camera, 2, self.cameraHprTarget) dropKeyboardInterval = LerpPosInterval(self.typewriterNP, 2, self.typewriterTarget, startPos=self.typewriterStart, blendType='easeOut') sequence = Parallel(camMoveInterval, camHprInterval, dropKeyboardInterval) sequence.setDoneEvent('arrivalFinished') def arrivalFinished(): self.activateTypewriter() self.base.ignore('enter') self.base.ignore('esc') self.base.accept('arrivalFinished', arrivalFinished) sequence.start() # for the impatient... def cancelStartupSequence(): sequence.finish() self.base.acceptOnce('enter', cancelStartupSequence) self.base.acceptOnce('esc', cancelStartupSequence)