14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DOTweenのコールバックをいくつか紹介

Last updated at Posted at 2017-12-01

謎のAdventCalendar 解散カレンダー二日目です。

Unityのゲーム開発者さんおなじみのDOTweenを使ったお話です。

DOTweenはアニメーション終了時や切り替え時などにコールバック関数が設定できるので何個かコールバックを紹介しときます。

・OnComplete
 アニメーションが終了したら実行されるコールバック。お手軽便利すごいやつ
 

void Start () {
    this.transform.DOMoveX(2, 2).OnComplete(() =>
        {
            Debug.Log("ほげ!");
        });
	
}

こんな感じで使います。

1.mov.gif

・AppendCallback (sequence専用)
sequenceでアニメーションの後ろにコールバックを追加できます。これも地味に便利。

void Start () {
    Sequence seq = DOTween.Sequence();
    //右に行く
    seq.Append(this.transform.DOMoveX(2, 2))
    //コールバック
    .AppendCallback(() =>
    {
        Debug.Log("左行くやで〜〜〜");
    })
    //左に行く
    .Append(this.transform.DOMoveX(0, 2))
    //コールバック
    .AppendCallback(()=>
    {
        Debug.Log("FOOOO~~~~!!");
    });
	
}

2.mov.gif

・OnWaypointChange(DOPath限定)
あんまり使ってる人がいない機能なんですがDOPathでのみ使えるコールバックです。
DOPathは配列の中に座標データを入れるとその通りに移動してくれるやつです。
このコールバックでは配列のウェイポイントに到達した度にコールバックが呼ばれます。
ちょっと特殊でint型変数がコールバックの引数として入ってきます。

void Start () {
   
    Vector3[] array = new Vector3[3];
    array[0] = new Vector3(0, 1, 0);
    array[1] = new Vector3(1, 1, 0);
    array[2] = new Vector3(1, 0, 1);

    transform.DOPath(array, 4).OnWaypointChange(waypoint =>
        {
            Debug.Log("waypointの中身"+waypoint);
        });
}

3.mov.gif

まだ書こうと思ったけど眠いので今日はこの辺で。気が向いたら書き足します。

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?