- 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