Browse Source

fix reverse interval with explicit duration too long

David Rose 22 years ago
parent
commit
a4129aa412
1 changed files with 6 additions and 6 deletions
  1. 6 6
      direct/src/interval/ActorInterval.py

+ 6 - 6
direct/src/interval/ActorInterval.py

@@ -103,8 +103,13 @@ class ActorInterval(Interval.Interval):
         Interval.Interval.__init__(self, name, duration)
         Interval.Interval.__init__(self, name, duration)
 
 
     def privStep(self, t):
     def privStep(self, t):
+        if self.reverse:
+            absFrame = self.endFrame - t * self.frameRate
+        else:
+            absFrame = self.startFrame + t * self.frameRate
+
         # Calc integer frame number
         # Calc integer frame number
-        absFrame = int(math.floor(t * self.frameRate + 0.0001))
+        absFrame = int(math.floor(absFrame + 0.0001))
 
 
         # Pose anim
         # Pose anim
 
 
@@ -119,11 +124,6 @@ class ActorInterval(Interval.Interval):
             else:
             else:
                 frame = max(min(absFrame, numFrames - 1), 0)
                 frame = max(min(absFrame, numFrames - 1), 0)
 
 
-            if self.reverse:
-                frame = self.endFrame - frame
-            else:
-                frame = self.startFrame + frame
-
             control.pose(frame)
             control.pose(frame)
             
             
         self.state = CInterval.SStarted
         self.state = CInterval.SStarted