diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-09-21 06:25:12 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-09-21 06:25:12 (GMT) |
commit | d9046ad201a205099acce85e1fa2300a51e588af (patch) | |
tree | 69a5184e4ee344d84b736a29f9ac9b567a129fa4 /TurtleArt | |
parent | 0d5065932c2ca1c613388c2f987d5aa9d5af440e (diff) |
specify skin by orientation
Diffstat (limited to 'TurtleArt')
-rw-r--r-- | TurtleArt/taturtle.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/TurtleArt/taturtle.py b/TurtleArt/taturtle.py index 91e7dfc..359776e 100644 --- a/TurtleArt/taturtle.py +++ b/TurtleArt/taturtle.py @@ -159,16 +159,20 @@ class Turtle: if n != 1: _logger.debug("%d images passed to set_shapes: ignoring" % (n)) images = [shapes[0]] - for i in range(3): - images.append(images[i].rotate_simple(90)) - for i in range(SHAPES): - j = (i + 4) % SHAPES - self.shapes[j] = images[int(j/9) % 4] + if self.heading == 0: + for i in range(3): + images.append(images[i].rotate_simple(90)) + for i in range(SHAPES): + j = (i + 4) % SHAPES + self.shapes[j] = images[int(j/9) % 4] + else: + j = int(self.heading+5)%360 / (360 / SHAPES) + self.shapes[j] = images[0] def set_heading(self, heading): """ Set the turtle heading (one shape per 360/SHAPES degrees) """ self.heading = heading - i = (int(self.heading+5)%360)/(360 / SHAPES) + i = (int(self.heading + 5) % 360) / (360 / SHAPES) if not self.hidden and self.spr is not None: try: self.spr.set_shape(self.shapes[i]) |