Question by 
               s096268 · Dec 02, 2015 at 03:35 PM · 
                transformtransform.positionaugmented-realitytranslatetransform.translate  
              
 
              Moving an object smoothly over predetermined distance without defining begin and end points
Hi guys,
so basically I want to move an object like this:
transform.Translate( 150f, 0, 0 );
every time my 'state' (defined as private int state; in my code) is 3.
However, this movement is instant. I want it to be gradual without having to define the begin and end position. Because everytime my code reaches state = 3 it will have a different begin and end position.
My code:
 using UnityEngine;
 using System.Collections;
 
 namespace Vuforia
 {
 
 public class SliderSmooth : MonoBehaviour {
 
     private int state; 
     private int counter; 
 
     // Use this for initialization
     void Start () {
 
     state = 0; 
 
     }
     
     // Update is called once per frame
     void Update () {
         
 
             ///SLIDE LEFT///////////////////////////////////////////////////////////////////////////////////////////
 
             if (state == 0 && DefaultTrackableEventHandler.SliderID == "right")
                 {
                 state = 1;
                 }        
 
             if (state == 1 && DefaultTrackableEventHandler.SliderID == "mid")    
                 {
                 state = 2;     
                 }
 
             if (state == 1 && DefaultTrackableEventHandler.SliderID == "left")    
                 {
                 state = 0;     
                 }
 
             if (state == 2 && DefaultTrackableEventHandler.SliderID == "left")    
                 {
 
                 state = 3;     
 
                 Debug.Log("Slide Left!");
 
                 transform.Translate( 150f, 0, 0 );
                 
                 state = 0; 
 
                 }
 
             if (state == 2 && DefaultTrackableEventHandler.SliderID == "right")    
                 {
                 state = 0;     
                 }
 
             ////////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 
             ///SLIDE RIGHT///////////////////////////////////////////////////////////////////////////////////////////
 
             if (state == 0 && DefaultTrackableEventHandler.SliderID == "left")    
                 {
                 state = 4;     
                 }
         
             if (state == 4 && DefaultTrackableEventHandler.SliderID == "mid")    
                 {
                 state = 5;     
                 }
 
             if (state == 4 && DefaultTrackableEventHandler.SliderID == "right")
                 {
                 state = 0; 
                 }
 
             if (state == 5 && DefaultTrackableEventHandler.SliderID == "left")    
                 {
                 state = 0;     
                 }
 
             if (state == 5 && DefaultTrackableEventHandler.SliderID == "right")    
                 {
 
                 state = 6;
 
                 Debug.Log("Swipe Right!");
 
                 transform.Translate( -150f, 0, 0 );
                 
 
                 state = 0; 
             
                 }
 
                 //Debug.Log(state);
 
 
         }
     
     }
 }
 
               This script obviously refers to other script, but that is not important at the moment. Everything works fine, just not the gradual movement.
Thank you in advance :)
               Comment
              
 
               
              Your answer