I want to create a Game, where your Character has to Dodge blocks etc. on 3 Diffrent Lanes(f.e. like Subway Surfer) I just cant figure out how to set a fixed Distance for my Character to move.
(Note that my Character will be constantly moving forward). I have setup a Level, where you spawn on a huge cube(0,0,0). How can i tell Unity to move my Character EXACTLY 30 to X?
public class burgerController : MonoBehaviour
{
// speed is set on 5 in the Editor.
public float speed;
public int counter = 0;
void Update()
{
transform.Translate(Vector3.forward * speed * Time.deltaTime, Space.World);
if (counter >= 0)
{
if (Input.GetKeyDown("a"))
{
transform.Translate(new Vector3(-30, 0, 0) * speed * Time.deltaTime, Space.World);
counter--;
}
}
if (counter <= 0)
{
if (Input.GetKeyDown("d"))
{
transform.Translate(new Vector3(30, 0 , 0) * speed * Time.deltaTime,Space.World);
counter++;
}
}
if (counter == -1)
{
if (Input.GetKeyDown("s"))
{
transform.Translate(new Vector3(30, 0, 0) * speed * Time.deltaTime, Space.World);
counter = 0;
}
}
if (counter == 1)
{
if (Input.GetKeyDown("s"))
{
transform.Translate(new Vector3(-30, 0, 0) * speed * Time.deltaTime, Space.World);
counter = 0;
}
}
}
I have tried several Ways to fix this and just couldnt find a Solution, it is really Important and i would appreciate your help.
(my Character is just a sphere btw. (1/1/1 Scale) everything is setup really simple in my Level)