move a gameobject to left/right while going up

hi , i have an object which is moving toward up . on the way there are some obstacles . i want to right that when i press left arrow the object move left adn when i press right arrow the object go right ( just want to change the x and keep y as it is going up as much as it is ) , i wrote this but when i press right or left arrow it just move in a shot like lerp is not working . also i want to make it like this that when i press left or right arrow it goes 1 unit to right or 1 unit to left now it’s just changing the position to x=1 or x=-1 .

if it is possible take a look at my code and let me know my mistakes and the solution to fix it .
thanks a lot .

        float movementSpeed = 2;
	float speed = 1F;
	private float startTime;
	private float journeyLength;
       	void Start () 
{
	startTime = Time.time;
	journeyLength = Vector3.Distance(transform.position, new Vector3 (1f,this.transform.position.y));
}
        void Update () 
	{
		transform.Translate(Vector3.up * movementSpeed * Time.deltaTime);

		float distCovered = (Time.time - startTime) * speed;
		float fracJourney = distCovered / journeyLength;


		if(Input.GetKeyDown (KeyCode.RightArrow))
		{
			transform.position = Vector3.Lerp(transform.position, new Vector3 (,this.transform.position.y) , fracJourney);
		}
		if(Input.GetKeyDown (KeyCode.LeftArrow))
		{
			transform.position = Vector3.Lerp(transform.position, new Vector3 (-1f,this.transform.position.y) , fracJourney);
			Debug.Log(transform.position.x);
		}

	}

here is some simple move left/right code -

void FixedUpdate ()
	{
		float moveHorizontal = Input.GetAxis ("Horizontal");
		Vector3 movement = new Vector3 (moveHorizontal, 0.0f, forwardSpeed);
		GetComponent<Rigidbody>().velocity = movement * speed;
		
	}

Its actually part of Unity’s ‘Space Shooter’ tutorial.

http://unity3d.com/earn/tutorials/projects/space-shooter/moving-the-player

Have a look and it will explain it better than I could…lol

:slight_smile: