> > Message: 19 > Date: Thu, 10 Jul 2014 17:24:16 -0700 > From: Peter Bogdanoff <bogdan...@me.com> > To: How to use LiveCode <use-livecode@lists.runrev.com> > Subject: Dragging an object > Message-ID: <14789523-9af4-4531-83cf-ff60644d1...@me.com> > Content-Type: text/plain; charset=windows-1252 > > Hi, > > I want to drag an object around (a group), restricting its Y coordinate (set > to be a property, ?yLocation"). I?m using this script inside the object: > > on mouseMove > if the mouse is down then > set the loc of me to (item 1 of the mouseLoc,the yLocation of me) > end if > end mouseMove > > However, after moving it sideways, when I click on it again to move it, every > time it jumps back so that its X coordinate is zero relative to the mouseLoc. > > This behavior would be fine for a button, but I?m dragging a 3000-pixel-wide > group. > > How can I drag it by clicking on one side of this group? > > I tried using the grab command, but I couldn?t seem to be able to restrict > the Y coordinate with that. > > Peter > UCLA
Hi Peter, Greetings from UCD (retired). The mouseMove needs to recognize the initial separation between the mouse at mouseDown the x loc of the object being moved at mouseDown. I call that distance dx. The following will move the button along the initial y coordinate of the button and the x loc of the mouse plus the initial separation dx local y0 ,myName, dx on mouseDown put the short name of me into myName put the loc of me into p0 put item 2 of p0 into y0 put the mouseloc into p1 put item 1 of p1 into x1 put item 1 of p0 into x0 put x0 - x1 into dx --The distance between the button loc and the mouse loc end mouseDown on mouseMove x,y if myName is not empty then set the loc of me to x+ dx,y0 end if end mouseMove on mouseUp put empty into myName end mouseUp on mouseEnter put "" into myname end mouseEnter _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode