changeset 219:f9e92d540bfa

Less hacky rotation suppression.
author Jeremy Thurgood <firxen@gmail.com>
date Wed, 04 Sep 2013 16:21:21 +0200
parents 9e2ef2f15035
children 06c52529e2ed
files nagslang/render.py
diffstat 1 files changed, 5 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/render.py	Wed Sep 04 15:06:33 2013 +0200
+++ b/nagslang/render.py	Wed Sep 04 16:21:21 2013 +0200
@@ -43,6 +43,8 @@
 
 
 class ImageRenderer(Renderer):
+    rotate = True  # Set to `False` to suppress image rotation.
+
     def __init__(self, image):
         self._image = image
 
@@ -50,6 +52,8 @@
         return self._image
 
     def rotate_image(self, image):
+        if not self._rotate:
+            return image
         angle = self.game_object.get_render_angle() * 180 / math.pi
         return pygame.transform.rotate(image, angle)
 
@@ -131,8 +135,7 @@
 class FacingSelectionRenderer(RendererSelectionRenderer):
     def __init__(self, renderers):
         for renderer in renderers.values():
-            # TODO: Unhack this somehow.
-            renderer.rotate_image = self.rotate_image
+            renderer.rotate = False
         super(FacingSelectionRenderer, self).__init__(renderers)
         self._face = 'left'
 
@@ -142,10 +145,6 @@
         elif abs(angle) > math.pi / 2:
             self._face = 'left'
 
-    def rotate_image(self, image):
-        # Facing images don't get rotated.
-        return image
-
     def select_renderer(self):
         angle = self.game_object.get_render_angle()
         self._update_facing(angle)