- Home /
How to restrict distance from object
I'm trying to create a slingshot (a la Angry Birds), but how do I limit the distance that you can pull it back? I know I could clamp the X and Y axis but that would make it pull back more like a square shape for the maximum pull rather than a circle?
Answer by Berenger · Feb 10, 2012 at 06:22 AM
From the expression "a la angrybird", I'l ltake a wild guess and say you're french, so salut compatriote ;) mais par respect pour les autres internautes, let's get back to english.
If I had to do that, I guess I would clamp the magnitude of the pulled back vector after a certain distance. Let's say, past magnitude = 5, I'd do something like that :
birdPos = startPos + (virtualPos - startPos).normalized * 5;
With, for something like AB, virtualPos would be the position of your finger pulling back, startPos the top of the throwing device and birdPos the actual and limited pos. I hope I'm clear enough ^^
Thanks. Normalized is exactly what I was looking for.
Oh, and I'm actually not French, I just assumed most people understood what "a la" meant.
Actually, I think Normalized FORCES the length to be 1 but I want it to be able to be less than 1. Vector3.Clamp$$anonymous$$agnitude looks like it's working better for my game.
Hey, Thanks a lot.. I spend couple of days trying to find the solution, and Vector3.Clamp$$anonymous$$agnitude solved it...
Thanks a ton...
Answer by Esa · Feb 10, 2012 at 06:22 AM
I don't know how you have built the slingshot, but you could use Vector3.Distance to determine the distance between slingshot and the bullet. And if it goes too far it won't stretch anymore.
Answer by naylamp · May 30, 2014 at 12:45 PM
var maxDistance : float = 1;
function restrinctPos(posStart,Vector2,newPos:Vector2) {
var posRestrinct:Vector2;
distance = Vector2.Distance(posStart,newPos);
if(distance > maxDistance) distance = maxDistance;
posRestrinct = posStart + (newPos - posStart).normalized * distance;
return posRestrinct;
}
Your answer
Follow this Question
Related Questions
Two way joint? 1 Answer
my MainChara shakes when the Mathf.Clamp stops it from going off screen 1 Answer
Such thing as a smooth clamp? 1 Answer
How to limit the rotation of an object?? 2 Answers
Camera rotating past clamp 0 Answers