IEnumerator easeRotating() { float start = transform.localRotation.x; float end = start + delta; float duration = durationTime; float currentTime = 0; while (currentTime < duration) { yield return(new WaitForEndOfFrame()); currentTime = Mathf.Clamp(currentTime += Time.deltaTime, 0, duration); float valueX = EaseAnimate.EaseOutBounce(start, end, currentTime / duration); transform.localRotation = Quaternion.Euler(valueX * 5.0f, valueX * 3.8f, valueX * 3.5f); } }
IEnumerator easePopOut() { float start = transform.localPosition.x; float end = start + delta; float duration = durationTime; float currentTime = 0; if (end > originLocation.x + originDelta || end < originLocation.x) { currentTime = duration; } while (currentTime < duration) { yield return(new WaitForEndOfFrame()); currentTime = Mathf.Clamp(currentTime += Time.deltaTime, 0, duration); float valueX = EaseAnimate.EaseInSine(start, end, currentTime / duration); transform.localPosition = new Vector3(valueX, transform.localPosition.y, transform.localPosition.z); } }