DOTweenでさらに色々と遊ぶ(学習中)

例:ジャンプして、スケールを変更

  1. DOLocalJumpジャンプ<かわいい
  2. DOScaleスケール変更<横に伸びる
    public Transform ob1;

    IEnumerator Start()
    {
        Debug.Log("DOLocalJump");
        ob1.gameObject.GetComponent<RectTransform>().localPosition = Vector3.zero;
        ob1.gameObject.GetComponent<RectTransform>().DOLocalJump(new Vector3(500f, 0f, 0f), 300f, 10, 5f);
        yield return new WaitForSeconds(3.0f);

        Debug.Log("DOScale");
        ob1.gameObject.GetComponent<RectTransform>().localPosition = Vector3.zero;
        ob1.gameObject.GetComponent<RectTransform>().DOScale(new Vector3(500f, 0f, 0f), 5f);
        yield return new WaitForSeconds(3.0f);
    }

例2

  1. DORotate=90度回転
  2. DOPunchScale=サイズを指定して、伸びたり、縮んだり
  3. DOShakeScale=ランダムな変化?<こっちの方が面白い
    ※WaitForSecondsを入れて、処理中に次の処理を実行しないようにしないと、並列に処理されてしまう
    ※並列な割り込みのせいか、DOPunchScaleとDOShakeScaleをやったら、1.5倍のまま戻らなくなった<バグでは?
        Debug.Log("DORotate");
        ob1.gameObject.GetComponent<RectTransform>().localPosition = Vector3.zero;
        ob1.gameObject.GetComponent<RectTransform>().DORotate(new Vector3(0f, 0f, 90f), 5f);
        yield return new WaitForSeconds(3.0f);

        Debug.Log("DOPunchScale");
        ob1.gameObject.GetComponent<RectTransform>().localPosition = Vector3.zero;
        ob1.gameObject.GetComponent<RectTransform>().DOPunchScale(new Vector3(1.5f, 1.5f), 5f);
        yield return new WaitForSeconds(3.0f);

        Debug.Log("DOShakeScale");
        ob1.gameObject.GetComponent<RectTransform>().localPosition = Vector3.zero;
        ob1.gameObject.GetComponent<RectTransform>().DOShakeScale( 5f);
        yield return new WaitForSeconds(3.0f);

qiita.com