comparison pytouhou/utils/interpolator.py @ 57:694f25881d0f

Fix move_to interpolation, add support for a few ANM and ECL instructions
author Thibaut Girka <thib@sitedethib.com>
date Tue, 23 Aug 2011 19:27:24 +0200
parents ab826bc29aa2
children af7914413b89
comparison
equal deleted inserted replaced
56:299de3a9b69f 57:694f25881d0f
19 self.start_values = tuple(values) 19 self.start_values = tuple(values)
20 self.end_values = tuple(values) 20 self.end_values = tuple(values)
21 self.start_frame = 0 21 self.start_frame = 0
22 self.end_frame = 0 22 self.end_frame = 0
23 self._frame = 0 23 self._frame = 0
24
25
26 def __nonzero__(self):
27 return self._frame <= self.end_frame
24 28
25 29
26 def set_interpolation_start(self, frame, values): 30 def set_interpolation_start(self, frame, values):
27 self.start_values = tuple(values) 31 self.start_values = tuple(values)
28 self.start_frame = frame 32 self.start_frame = frame
45 self._frame = frame 49 self._frame = frame
46 if frame >= self.end_frame: 50 if frame >= self.end_frame:
47 self.values = tuple(self.end_values) 51 self.values = tuple(self.end_values)
48 self.start_values = tuple(self.end_values) 52 self.start_values = tuple(self.end_values)
49 self.start_frame = frame 53 self.start_frame = frame
50 return frame == self.end_frame
51 else: 54 else:
52 truc = float(frame - self.start_frame) / float(self.end_frame - self.start_frame) 55 truc = float(frame - self.start_frame) / float(self.end_frame - self.start_frame)
53 self.values = tuple(start_value + truc * (end_value - start_value) 56 self.values = tuple(start_value + truc * (end_value - start_value)
54 for (start_value, end_value) in zip(self.start_values, self.end_values)) 57 for (start_value, end_value) in zip(self.start_values, self.end_values))
55 return True
56 58