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
Binary file data/images/tiles/acid2.png has changed
--- 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