# How to reverse a sin animation?

So basically I’m trying to make two cubes move in opposite directions across a lane (obstacles for the player). I’ve managed to get the cubes to go right to left, but I need one to be going left to right to make them move in opposite directions.

This is what I’ve got so far: https://i.gyazo.com/6340d64be4f867e09b912d9b8ef0408f.gif

As you can see they both start in the centre of the lane and move right to left, I want the top one to be going left first, but I’m not sure how to achieve this. I created a seperate script and put everything in from the other script but I can’t figure out what to change to make it go in reverse.

Here’s the code on the cubes:

``````public class EnemyCubeMotion : MonoBehaviour {

float originalX;

public float floatStrength = 1; // Change x pos range in Editor

void Start()
{
this.originalX = this.transform.position.x; //Saving the original position
}

void Update()
{
transform.position = new Vector3(originalX + ((float)Math.Sin(Time.time) * floatStrength),
transform.position.y, //Sin  between -1 and 1
transform.position.z);
}
}
``````

If anyone could help me out or give me any suggestions I’d really appreciate it, I’m quite new to Unity so I’m making a lot of stupid mistakes at the moment. Thanks.

If I understand your question correctly you just need to add pi to the other one like this:

``````Mathf.Sin(Time.time + Mathf.PI)
``````

Just use a boolean for if it’s enemy1 or not.

Theoretically you could multiply the result of your existing results for x by -1 to get the opposite movement.

``````new Vector3(originalX + ((float)Math.Sin(Time.time) * -floatStrength),
transform.position.y, //Sin  between -1 and 1
transform.position.z);
``````

Notice the negative sign before your floatStrength