DOTweenについて
出来ることは
コンポーネントでInspectorから様々な値を調整できる
GameView上でアニメーションパスの追加、編集ができる
などなど
最初に宣言する!
code:C#
using DG.Tweening;
DoTweenは2Dの例
rectTran.DOhoge(値,時間);のように書く。
移動に関するコードについて
code:C#
this.transform.DOMove(new Vector3(x,y,z), 0.5f);//(x,y,z)へ0.5秒かけて移動をする
code:C#
//1秒で座標(1,1,1)に移動
rectTran.DOMove (
Vector3.one, //移動後の座標 (1,1,1)みたいな書き方も出来る
1.0f //時間
);
また、DOMoveX,DOMoveYなど一つの要素だけ動かすこともできる。
上記の書き方だとワールド座標になってしまうがDOLocalMoveとするとローカル座標で扱われる。
スケールに関するコードについて
code:C#
//1秒でスケール(1,1,1)にスケーリング
rectTran.DOScale (
Vector3.one, //終了時点のScale
1.0f //時間
);
こちらもDOScaleX,DOScaleYもあります。
回転に関するコードについて
code:C#
transform.DORotate(new Vector3(0,0,360), 1, RotateMode.Fast); //最短で指定の角度まで回転(360度を超えない)
transform.DORotate(new Vector3(0,0,360), 1, RotateMode.FastBeyond360); //最短で指定の角度まで回転(360度を超える)
transform.DORotate(new Vector3(0,0,360), 1, RotateMode.WorldAxisAdd); //ワールド軸に対して
transform.Lookat(Vector3.forward, 1, AxisConstraint.None, Vector3.up); //指定したべjクトルを向くように回転する
以下が画像で分かる例
https://gyazo.com/75ef2f876486114375252a08fd178a93
拡縮について
code:C#
transform.Scale(new Vector3(2,2,2), 1); //2倍スケール
transform.ScaleX(4, 1); //X軸だけ4倍スケール
transform.BlendableScaleBy(new Vector3(3, 0, 0), 1); //合成可能スケール(相対的)
スケールに関しても他Tweenと同様に出来る。
Callback
こちらは始まった時、更新時、終わった時などに呼ばれるものです。
code:C#
hoge.OnStart(() => {
// アニメーション開始時によばれる
});
hoge.OnUpdate(() => {
// 対象の値が変更される度によばれる
});
hoge.OnComplete(() => {
// アニメーションが終了時によばれる
});
とりあえずここまで書いたので、あとは必要に応じて加筆修正してください。
参考サイト
基本
コントロール
Transform
ボタンのアニメーション