diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-03-13 18:15:20 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-03-13 18:15:20 (GMT) |
commit | 18d586f9e2f3f89535294203cfd859bbcbb61258 (patch) | |
tree | 75c5b93e1320f4927ca83c7463a0836f3c607bdb /TurtleArt | |
parent | f53f35cf73075268e42a5fcde4390552b0d35ffe (diff) |
better tracking of turtle movement under mouse for sharing
Diffstat (limited to 'TurtleArt')
-rw-r--r-- | TurtleArt/tawindow.py | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/TurtleArt/tawindow.py b/TurtleArt/tawindow.py index 4854d64..0113cb3 100644 --- a/TurtleArt/tawindow.py +++ b/TurtleArt/tawindow.py @@ -1336,16 +1336,17 @@ class TurtleArtWindow(): dtype, dragx, dragy = self.drag_turtle (sx, sy) = self.selected_turtle.get_xy() if dtype == 'move': - dx = x - dragx - sx - dy = y - dragy - sy + dx = x - dragx - sx + self.active_turtle.spr.rect.width / 2 + dy = y - dragy - sy + self.active_turtle.spr.rect.width / 2 self.selected_turtle.spr.set_layer(TOP_LAYER) - self.selected_turtle.move((sx + dx, sy + dy)) - if self.sharing(): # share turtle movement - tx, ty = self.canvas.screen_to_turtle_coordinates(sx + dx, - sy + y) - self.send_event("x|%s" % ( - data_to_string([self.selected_turtle.get_name(), - [round_int(tx), round_int(ty)]]))) + tx, ty = self.canvas.screen_to_turtle_coordinates(sx + dx, + sy + dy) + if self.canvas.pendown: + self.canvas.setpen(False) + self.canvas.setxy(tx, ty) + self.canvas.setpen(True) + else: + self.canvas.setxy(tx, ty) else: dx = x - sx - self.active_turtle.spr.rect.width / 2 dy = y - sy - self.active_turtle.spr.rect.height / 2 |