code: def update(self, ptime):
          
          delta = self.delta + ptime
          total_duration = self.delay + self.duration
  
          if delta > total_duration:
              delta = total_duration
  
          if delta < self.delay:
              pass
          elif delta == total_duration:
              for key, tweenable in self.tweenables:
                  setattr(self.target, key, tweenable.target_value)
          else:
              fraction = self.ease((delta - self.delay) / (total_duration - self.delay))
  
              for key, tweenable in self.tweenables:
                  res = tweenable.update(fraction)
                  if isinstance(res, float) and self.round:
                      res = int(res)
                  setattr(self.target, key, res)
  
          if delta == total_duration or len(self.tweenables) == 0:
              self.complete = True
  
          self.delta = delta
  
          if self.on_update:
              self.on_update(self.target)
  
          return self.complete
docs: Update tween with the time since the last frame