UnityのDotweenよく使うものまとめ

ドキュメント

dotween.demigiant.com

namespace

using DG.Tweening;

移動

(RectTransform)(gameObject.transform).DOLocalMove(new Vector3(8, 0, 0), 0.5f); //8,0,0の位置に移動

DOMoveはワールド座標での移動。DOLocalMoveはローカル座標。

絶対座標ではなく相対座標で移動したい。

(a,b,c)に移動したい、という場合ではなく、今いる位置から(d,e,f)移動したいという場合は、.SetRelativeをつけてあげれば良い。

(RectTransform)(gameObject.transform).DOLocalMove(new Vector3(8, 0, 0), 0.5f).SetRelative(); //今いる場所から右へ8移動

シーケンス

Sequence seq = DOTween.Sequence();
seq.Play();

ループ数を指定する

Sequence seq = DOTween.Sequence();
seq.SetLoops(-1); //-1なら無限ループ
seq.Play();

Append

Sequence seq = DOTween.Sequence();
seq.Append(((RectTransform)scrollArrowDown.transform).DOLocalMoveY(10, 0.5f).SetRelative());
seq.Append(((RectTransform)scrollArrowDown.transform).DOLocalMoveY(-10, 0.5f).SetRelative())
seq.Play();

AppendInterval

シーケンス中にxx秒待つ

Sequence seq = DOTween.Sequence();
sequence.AppendInterval(0.3f);
seq.Play();

AppendCallback

CallBackを設定

Sequence seq = DOTween.Sequence();
sequence.AppendCallback (()=>{
    if(onFinish != null){
        onFinish();
    }
});
seq.Play();

Fade

Image.DOFade

CrossFadeAlpha は unityの仕組みでdotweenじゃないけどおなじようなことできる

DoKill

今行っているアニメを消す。 component は uGUIの親のComponent。

component.DOKill()