Jump to content
GreenSock

Michael71

Draggable locked in diagonal movement only

Moderator Tag

Recommended Posts

Hello,

 

I was wondering how could I limit a draggable movement only diagonally towards top-left and bottom-right.

 

Thanks guys!

Link to comment
Share on other sites

Hi Michael,
 
Not sure how practical that will be to implement. You could rotate the bounds by 45 and then rotate the draggable's target by -45 like this:
http://codepen.io/GreenSock/pen/azNxRO
 
Does that work?

Link to comment
Share on other sites

Hey Carl I see what you mean, the codepen example doesn't work though, it throws the Codepen 404 equivalent.

Link to comment
Share on other sites

Thank you, yes that is what I was looking for, sometimes we have to think out of the box right?

Link to comment
Share on other sites

  • 1 month later...

This is in another way to do it:

 


Hi Cirox,
 
You can constrain the shape by doing a little math...

var offset = this.x * Math.tan(45 * Math.PI / 180);
TweenLite.set(drag, { width: this.x, height: offset });
TweenLite.set(handle, { top: offset });

But an even easier approach would be to do it as a ratio. 45 degrees would be 1:1, so just set the height and width equal to each other.
TweenLite.set(drag, { width: this.x, height: this.x });
TweenLite.set(handle, { top: this.x });

CodePen URL: 

See the Pen emWwzb?editors=001 by osublake (@osublake) on CodePen

 

Thanks OSUblake

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×