謎のAdventCalendar 解散カレンダー二日目です。
Unityのゲーム開発者さんおなじみのDOTweenを使ったお話です。
DOTweenはアニメーション終了時や切り替え時などにコールバック関数が設定できるので何個かコールバックを紹介しときます。
・OnComplete
アニメーションが終了したら実行されるコールバック。お手軽便利すごいやつ
void Start () {
this.transform.DOMoveX(2, 2).OnComplete(() =>
{
Debug.Log("ほげ!");
});
}
こんな感じで使います。
・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~~~~!!");
});
}
・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);
});
}
まだ書こうと思ったけど眠いので今日はこの辺で。気が向いたら書き足します。