From f0464f40ac21b42e0acc082e96e7252a36d13144 Mon Sep 17 00:00:00 2001 From: Mark Mine Date: Wed, 14 Mar 2001 20:04:56 +0000 Subject: [PATCH] *** empty log message *** --- direct/src/interval/FunctionInterval.py | 69 +++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/direct/src/interval/FunctionInterval.py b/direct/src/interval/FunctionInterval.py index e2560e99e2..5fc4d1ab79 100644 --- a/direct/src/interval/FunctionInterval.py +++ b/direct/src/interval/FunctionInterval.py @@ -168,3 +168,72 @@ class PosHprScaleInterval(FunctionInterval): PosHprScaleInterval.posHprScaleIntervalNum += 1 # Create function interval FunctionInterval.__init__(self, posHprScaleFunc, name = name) + + +""" +SAMPLE CODE + +### Using lambdas and functions ### +# Using a lambda +i1 = FunctionInterval(lambda: base.transitions.fadeOut()) +i2 = FunctionInterval(lambda: base.transitions.fadeIn()) +# Using a function +def printHello(): + print 'hello' + +i3 = FunctionInterval(printHello) +# Create track +t = Track([(0.0, i1), (2.0, i2), (4.0, i3)], name = 'demo') +# Play track +t.play() + +### Specifying interval start times during track construction ### +# Interval start time can be specified relative to three different points: +# PREVIOUS_END +# PREVIOUS_START +# TRACK_START + +startTime = 0.0 +def printStart(): + global startTime + startTime = globalClock.getFrameTime() + print 'Start' + +def printPreviousStart(): + global startTime + currTime = globalClock.getFrameTime() + print 'PREVIOUS_END %0.2f' % (currTime - startTime) + +def printPreviousEnd(): + global startTime + currTime = globalClock.getFrameTime() + print 'PREVIOUS_END %0.2f' % (currTime - startTime) + +def printTrackStart(): + global startTime + currTime = globalClock.getFrameTime() + print 'TRACK_START %0.2f' % (currTime - startTime) + +i1 = FunctionInterval(printStart) +# Just to take time +i2 = LerpPosInterval(camera, 2.0, Point3(0,10,0)) +# This will be relative to end of camera move +i3 = FunctionInterval(printPreviousEnd) +# Just to take time +i4 = LerpPosInterval(camera, 2.0, Point3(0,0,0)) +# This will be relative to the start of the camera move +i5 = FunctionInterval(printPreviousStart) +# This will be relative to track start +i6 = FunctionInterval(printTrackStart) +# Create the track, if you don't specify offset type in tuple it defaults to +# relative to TRACK_START (first entry below) +t = Track([(0.0, i1), # i1 start at t = 0, duration = 0.0 + (1.0, i2, TRACK_START), # i2 start at t = 1, duration = 2.0 + (2.0, i3, PREVIOUS_END), # i3 start at t = 5, duration = 0.0 + (1.0, i4, PREVIOUS_END), # i4 start at t = 6, duration = 2.0 + (3.0, i5, PREVIOUS_START), # i5 start at t = 9, duration = 0.0 + (10.0, i6, TRACK_START)], # i6 start at t = 10, duration = 0.0 + name = 'startTimeDemo') +t.play() + +"""