Mercurial > nagslang
comparison tools/area_editor.py @ 549:f868a8592432
Less leaky terrain movement
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 07 Sep 2013 21:48:55 +0200 |
parents | c13f81f8d48c |
children | 3c7593a84b06 |
comparison
equal
deleted
inserted
replaced
548:b0c5f032eb9d | 549:f868a8592432 |
---|---|
875 new_coords = self.level.point_to_pymunk(new_pos) | 875 new_coords = self.level.point_to_pymunk(new_pos) |
876 shape = obj.get_shape() | 876 shape = obj.get_shape() |
877 shape.body.position = (new_coords[0], new_coords[1]) | 877 shape.body.position = (new_coords[0], new_coords[1]) |
878 data = self.level.lookup[obj] | 878 data = self.level.lookup[obj] |
879 args = data['args'] | 879 args = data['args'] |
880 old_coords = list(args[0]) | |
880 param_defs = obj.requires()[1:] # chop off name | 881 param_defs = obj.requires()[1:] # chop off name |
881 for i, (_key, key_type) in enumerate(param_defs): | 882 for i, (_key, key_type) in enumerate(param_defs): |
882 if i > len(args): | 883 if i > len(args): |
883 break | 884 break |
884 if key_type == "polygon (convex)": | 885 if key_type == "polygon (convex)": |
885 self._update_pos(obj, new_pos) | 886 new_outline = self.level.translate_poly( |
887 args[i], old_coords, new_coords) | |
888 obj.update_image(new_outline) | |
886 self.invalidate() | 889 self.invalidate() |
887 | 890 |
888 def _update_pos(self, obj, new_pos): | 891 def _update_pos(self, obj, new_pos): |
889 data = self.level.lookup[obj] | 892 data = self.level.lookup[obj] |
890 new_coords = self.level.point_to_pymunk(new_pos) | 893 new_coords = self.level.point_to_pymunk(new_pos) |