diff options
author | Walter Bender <walter@sugarlabs.org> | 2010-10-21 13:42:04 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2010-10-21 13:42:04 (GMT) |
commit | 1033b46b947638513da7118c6464770e391cdf1a (patch) | |
tree | e883b4a00efd362e2b4d6e782ffefda660b0dff0 | |
parent | 36a3a644ddb7fe324df232673afefd171ce4c7bb (diff) |
fix no color attr bug when restoring turtle shell
-rw-r--r-- | TurtleArt/taturtle.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/TurtleArt/taturtle.py b/TurtleArt/taturtle.py index a11d15a..a7a3205 100644 --- a/TurtleArt/taturtle.py +++ b/TurtleArt/taturtle.py @@ -113,6 +113,7 @@ class Turtle: self.shapes = [] self.custom_shapes = False self.type = 'turtle' + self.name = key self.heading = 0 self.pen_shade = 50 self.pen_color = 0 @@ -120,10 +121,19 @@ class Turtle: self.pen_size = 5 self.pen_state = True - # If the turtle key is an int, we'll use a palette color as the + self._prep_shapes(key, turtles, turtle_colors) + + if turtles.sprite_list is not None: + self.spr = Sprite(turtles.sprite_list, 0, 0, self.shapes[0]) + else: + self.spr = None + turtles.add_to_dict(key, self) + + def _prep_shapes(self, name, turtles=None, turtle_colors=None): + # If the turtle name is an int, we'll use a palette color as the # turtle color try: - int_key = int(key) + int_key = int(name) use_color_table = True except ValueError: use_color_table = False @@ -138,13 +148,9 @@ class Turtle: '#%06x' % (color_table[stroke])] self.shapes = generate_turtle_pixbufs(self.colors) else: - self.shapes = turtles.get_pixbufs() - - if turtles.sprite_list is not None: - self.spr = Sprite(turtles.sprite_list, 0, 0, self.shapes[0]) - else: - self.spr = None - turtles.add_to_dict(key, self) + if turtles is not None: + self.colors = ['#008000', '#00A000'] + self.shapes = turtles.get_pixbufs() def set_shapes(self, shapes): """ Reskin the turtle """ |