Mercurial > nagslang
changeset 401:f7ee43c0e5c9
Animated acid
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 07 Sep 2013 08:59:55 +0200 |
parents | 4523b1ff17ae |
children | c08d409a1c87 |
files | data/images/tiles/acid2.png nagslang/game_object.py |
diffstat | 2 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/nagslang/game_object.py Sat Sep 07 08:59:28 2013 +0200 +++ b/nagslang/game_object.py Sat Sep 07 08:59:55 2013 +0200 @@ -529,8 +529,9 @@ class HostileTerrain(GameObject): zorder = ZORDER_FLOOR damage = None - tile = None + tiles = [] tile_alpha = 255 + tile_frame_ticks = 3 # How often to hit the player rate = 5 @@ -543,11 +544,19 @@ self._ticks = 0 self.shape.collision_type = COLLISION_TYPE_SWITCH self.shape.sensor = True + if len(self.tiles) > 1: + tile_images = [resources.get_image('tiles', x) + for x in self.tiles] + renderer = render.TimedTiledRenderer(outline, tile_images, + self.tile_frame_ticks, + self.tile_alpha) + else: + tile_image = resources.get_image('tiles', self.tiles[0]) + renderer = render.TiledRenderer(outline, tile_image, + self.tile_alpha) super(HostileTerrain, self).__init__( SingleShapePhysicser(space, self.shape), - render.TiledRenderer(outline, - resources.get_image('tiles', self.tile), - self.tile_alpha)) + renderer) def collide_with_protagonist(self, protagonist): # We're called every frame we're colliding, so @@ -571,12 +580,12 @@ class AcidFloor(HostileTerrain): damage = 1 - tile = 'acid.png' + tiles = ['acid.png', 'acid2.png'] tile_alpha = 200 class ForceWolfFloor(HostileTerrain): - tile = 'moonlight.png' + tiles = ['moonlight.png'] rate = 0 tile_alpha = 150 zorder = ZORDER_HIGH