- Home /
 
 
               Question by 
               Bentoon · Aug 04, 2016 at 07:15 PM · 
                c#itweeneasingitween path  
              
 
              iTween, I need a Sharp movement between points on an iTween path
Hello
I have the camera moving between points on an iTween path,
It has a beautiful SMOOTH movement, but at some points I need it to be SHARPer between two points...
Is there a way to do this? I have looked into ease types but it's not really working
     public float speed;
 
     float initPercentage = 0f;
     float initCursorPos = 0f;
     float currentCursorPos = 0f;
     public float dragSpeed;
 
     void Start(){
         speed = 0.004f;
         dragSpeed = 0.001f;
     }
 
     void Update () {
         if(Input.GetKey(KeyCode.UpArrow))
         {
             percentage -= speed * Time.deltaTime;
         }
         if(Input.GetKey(KeyCode.DownArrow))
         {
             percentage += speed * Time.deltaTime;
         }
         percentage = Mathf.Clamp01(percentage);
         iTween.PutOnPath(gameObject,movePath,percentage);
         iTween.PutOnPath(lookTarget,lookPath,percentage);
         transform.LookAt(iTween.PointOnPath(lookPath,percentage));
 
 
         if (Input.GetMouseButtonDown(0)) //if left mouse button is pressed
         {
             initCursorPos = Input.mousePosition.x;
             
             initPercentage = percentage;
         }
         
         if (!Input.GetMouseButton(0)) //if left mouse button not pressed
         {
             percentage += speed * Time.deltaTime;
         }
         else //if not pressed
         {
             Debug.Log("Left mouse button not pressed");
             
             if (Input.mousePosition.x - initCursorPos > 5) //drag to the right
             {
                 Debug.Log("Drag to the right");
                 
                 percentage = initPercentage - (Input.mousePosition.x - initCursorPos) * dragSpeed * 0.1f;
             }
             else
                 if (Input.mousePosition.x - initCursorPos < -5) //drag to the left
             {
                 Debug.Log("Drag to the left");
                 
                 percentage = initPercentage - (Input.mousePosition.x - initCursorPos) * dragSpeed * 0.1f;
             }
             else //stand still
             {
                 Debug.Log("Stand still");
             }
         }
 
     }
     
 
     void OnDrawGizmos(){
         iTween.DrawPath(movePath,Color.magenta);
         iTween.DrawPath(lookPath,Color.cyan);
         Gizmos.color=Color.black;
         Gizmos.DrawLine(transform.position,lookTarget.position);
     }
     
     void SlideTo(float position){
         iTween.Stop(gameObject);
         iTween.ValueTo(gameObject,iTween.Hash("from",percentage,"to",position,"time",2,"easetype",iTween.EaseType.easeInOutCubic,"onupdate","SlidePercentage"));    
     }
     
     void SlidePercentage(float p){
         percentage=p;
     }
 }
 
 
               Any Ideas?
Thanks
~be
               Comment
              
 
               
              Your answer