- Home /
How can I make sure two movable objects stay a certain distance away from eachother?
I'm working on a 2D game where the player controls two objects with the analog sticks, and I ultimately want to have it so that the objects cannot get too close to each other. They can get as far apart as they want, just must be at least a certain distance away from eachother. I originally had it set so that they were both rigid bodies and that they couldn't collide, and just set the size to the distance that I wanted but, because they were both being moved, they could pass through each other. I currently have it set so that if the objects collide, they both move to the side.
void OnCollisionStay(Collision other){
if (other.gameObject == otherPiece) {
if(isLeft){
rgbd.velocity = new Vector2(-1, 0);
}else{
rgbd.velocity = new Vector2(1, 0);
}
}
Not sure why only some of the code appears in the code box, sorry
The issue with this is, I want to have the distance not allowed to increase when the player makes a mistake, this brings about some bugs with the objects getting stuck together / not firing off the code to move away and some other issues.
So my question is, what's the best way to make sure the objects can't get too close together, and still be able to increase that not allowed size? Should I keep the rigid bodies, and if so how can I make them actually collide if they can both move? Or is there a way I can directly set it so that they move apart at the correct angle if they're too close?
Any help is much appreciated, thanks!
Your answer
Follow this Question
Related Questions
How to make camera position relative to a specific target. 1 Answer
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
Car Script error C# 2 Answers
How to not allow ball to be thrown after first Toss 2 Answers