コード例 #1
0
    IEnumerator _Shake(AnimationCurve curve)
    {
        Vector3 startPos = transform.position;

        float duration = curve.lastTime();

        yield return StartCoroutine(pTween.RealtimeTo(duration, 0f, duration, t =>
        {
            float magnitude = (curve.Evaluate(t) / 360f) * Camera.main.orthographicSize;

            Vector3 randPos = new Vector3(Random.Range(-magnitude, magnitude), 0, Random.Range(-magnitude, magnitude));

            transform.position = startPos + randPos;

            t += shakeStayTime / Time.timeScale;
        }));

        transform.position = startPos;
    }