Mercurial > touhou
diff pytouhou/game/bullet.py @ 246:cb329dca4758
Use the correct behaviour for flag 1 in bullet.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Sun, 15 Jan 2012 15:22:26 +0100 |
parents | 741860192b56 |
children | a0d6b1915591 |
line wrap: on
line diff
--- a/pytouhou/game/bullet.py +++ b/pytouhou/game/bullet.py @@ -114,11 +114,13 @@ class Bullet(object): def launch(self): self._launched = True - self.update = self.update_full self.set_anim() if self.flags & 1: self.speed_interpolator = Interpolator((self.speed + 5.,), 0, (self.speed,), 16) + self.update = self.update_speed + else: + self.update = self.update_full def collide(self): @@ -173,6 +175,18 @@ class Bullet(object): self.y += dy + def update_speed(self): + if self.speed_interpolator: + self.speed_interpolator.update(self.frame) + self.speed, = self.speed_interpolator.values + dx, dy = cos(self.angle) * self.speed, sin(self.angle) * self.speed + self.x, self.y = self.x + dx, self.y + dy + self.frame += 1 + else: + self.update = self.update_full + self.update() + + def update_full(self): sprite = self._sprite