Why is my cube not following the other the way i want ?
Hey guys i'm trying to make my cube follow my other cube, so i'm setting his position to equal the position of the cube on the last frame through this :
void Update()
{
CurrentPosition = gameObject.transform.position;
LastPosition = CurrentPosition;
}
And then doing this on the object that's supposed to follow the cube :
void Update()
{
gameObject.transform.position = MoveScript.LastPosition;
}
But what i get is that my cube is at "half" of the other cube. Like this : https://gyazo.com/b796a1dbac264b8ac851050292deee0f
Why is this happening ? Sorry if this is a dumb question, i've tried to be as clear as possible and i hope i was, thanks for helping me.
you need to add an offset to make your cube stand out from the other one
You mean that there's no way to make it other than adding an offset ? So that means i have to add an offset for all 4 directions ? Thanks for your answer
Answer by AndrewBilotti · Jan 19, 2016 at 08:26 PM
Well, your cube probably isn't moving at all- you didn't add anything to it. Do something like this:
Public transform CurrentPosition;
Public transform LastPosition;
Public float speed = 1; //Speed
CurrentPosition = gameObject.transform.position;
LastPosition = CurrentPosition + (some transform, vector2 or 3 :P);
Hmm my cubes are both moving, i have code to move the first one i didn't show since it wasn't important to me for the problem but here it is if it's important
void Update()
{
CurrentPosition = gameObject.transform.position;
if (Input.Get$$anonymous$$ey($$anonymous$$eyCode.Z))
{
gameObject.transform.Translate(Vector3.up * 0.2f);
}
if (Input.Get$$anonymous$$ey($$anonymous$$eyCode.S))
{
gameObject.transform.Translate(Vector3.down * 0.2f);
}
if (Input.Get$$anonymous$$ey($$anonymous$$eyCode.D))
{
gameObject.transform.Translate(Vector3.right * 0.2f);
}
if (Input.Get$$anonymous$$ey($$anonymous$$eyCode.Q))
{
gameObject.transform.Translate(Vector3.left * 0.2f);
}
LastPosition = CurrentPosition;
}
Thanks for your answer