例:ジャンプして、スケールを変更
- DOLocalJumpジャンプ<かわいい
- 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
- DORotate=90度回転
- DOPunchScale=サイズを指定して、伸びたり、縮んだり
- 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