From: Simon Cross Date: Sat, 5 Mar 2016 14:52:13 +0000 (+0200) Subject: Factor out frame based actors. X-Git-Url: https://git.ctpug.org.za/?a=commitdiff_plain;h=3266c4cb2a620fa01e1b39056acfed203425c000;p=koperkapel.git Factor out frame based actors. --- diff --git a/koperkapel/roaches.py b/koperkapel/roaches.py index 95353ee..c844b52 100644 --- a/koperkapel/roaches.py +++ b/koperkapel/roaches.py @@ -1,10 +1,8 @@ """ Tools for creating roach actors. """ -import random -from pgzero.clock import each_tick from pgzero.loaders import images from pygame.constants import BLEND_RGBA_MULT -from .actors.orientatedsurf import OrientatedSurfActor +from .actors.animsurf import AnimatedSurfActor from .serums import roach_serum_color @@ -15,24 +13,6 @@ def roach_by_name(world, roach_name): return roaches[0] -class RoachActor(OrientatedSurfActor): - def __init__(self, frames): - self._frames = frames - self._frame = random.randint(0, len(frames) - 1) - self._dt = 0 - self._cycle_dt = 0.2 - each_tick(self.update) - super().__init__(surf=frames[self._frame], angle=0) - - def update(self, dt): - self._dt += dt - while self._dt > self._cycle_dt: - self._dt -= self._cycle_dt - self._frame += 1 - self._frame %= len(self._frames) - self.surf = self._frames[self._frame] - - class WorldRoach(object): """A roach proxy with no properties for display on the game level.""" @@ -61,7 +41,7 @@ class RoachFactory: frames = [ self.assemble_frame(i, color, roach_data) for i in range(self.frames)] - return RoachActor(frames) + return AnimatedSurfActor(frames) default_roaches = RoachFactory("")