「Unity/Csharp/iTween」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→値をtweenで変更する) |
|||
(同じ利用者による、間の15版が非表示) | |||
行11: | 行11: | ||
csにimportの記述は特にしなくてよい。 | csにimportの記述は特にしなくてよい。 | ||
+ | |||
+ | ==アンインストール== | ||
+ | Assets/Plugins/Pixelplacement を削除 | ||
==数秒間で座標移動する== | ==数秒間で座標移動する== | ||
行20: | 行23: | ||
==iTween.Hashで上記と同じことをやる== | ==iTween.Hashで上記と同じことをやる== | ||
iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "y", 2, "time", 2)); | iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "y", 2, "time", 2)); | ||
+ | |||
+ | ==等速で移動== | ||
+ | iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "y", 2, "time", 2, "EaseType", iTween.EaseType.linear)); | ||
==数秒後に数秒間移動する== | ==数秒後に数秒間移動する== | ||
− | + | iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "delay", 2, "time", 3)); | |
==拡大== | ==拡大== | ||
− | iTween.ScaleTo (gameObject, iTween.Hash ("x", 4, "y", 2, "delay", 1f)); | + | iTween.ScaleTo (gameObject, iTween.Hash ("x", 4, "y", 2, "time", 1f, "delay", 1f, "easeType", iTween.EaseType.easeOutBack)); |
+ | |||
+ | 等倍に拡大。ダイアログとかの、ポップアップとかに使える? | ||
+ | iTween.ScaleTo(confirmPanel, iTween.Hash("x", 1, "y", 1, "time", 0.1f, "easeType", iTween.EaseType.easeOutBack)); | ||
==回転== | ==回転== | ||
行31: | 行40: | ||
==ループ== | ==ループ== | ||
− | + | iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "time", 3, "loopType", "loop")); | |
==往復== | ==往復== | ||
− | + | iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "time", 3, "loopType", "pingpong")); | |
==点滅ループ== | ==点滅ループ== | ||
行64: | 行73: | ||
movepath[1].Set(0.5878f, -0.8090f, 0f); // 5 | movepath[1].Set(0.5878f, -0.8090f, 0f); // 5 | ||
movepath[2].Set(-0.9511f, 0.3090f, 0f); // 9 | movepath[2].Set(-0.9511f, 0.3090f, 0f); // 9 | ||
− | movepath[3].Set(0.9511f, | + | movepath[3].Set(0.9511f, 0.3090f, 0f); // 3 |
movepath[4].Set(-0.5878f, -0.8090f, 0f); // 7 | movepath[4].Set(-0.5878f, -0.8090f, 0f); // 7 | ||
movepath[5].Set(0f, 1f, 0f); // 1 | movepath[5].Set(0f, 1f, 0f); // 1 | ||
− | / | + | // 星型頂点 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10137274530 |
iTween.MoveTo(obj,iTween.Hash("path",movepath,"time",4, "easetype",iTween.EaseType.linear, "loopType", "pingpong")); | iTween.MoveTo(obj,iTween.Hash("path",movepath,"time",4, "easetype",iTween.EaseType.linear, "loopType", "pingpong")); | ||
==値をtweenで変更する== | ==値をtweenで変更する== | ||
− | + | gameObjectが2つあるが、そこは、合わせる。 | |
<pre> | <pre> | ||
void Start() | void Start() | ||
行84: | 行93: | ||
}; | }; | ||
iTween.ValueTo(gameObject, hash); | iTween.ValueTo(gameObject, hash); | ||
− | |||
} | } | ||
void OnUpdateValue(float value) | void OnUpdateValue(float value) | ||
行91: | 行99: | ||
} | } | ||
</pre> | </pre> | ||
+ | |||
+ | ==アニメーションを途中でやめる== | ||
+ | iTween.Stop(gameObj); | ||
+ | |||
+ | 直後のMoveToなどを使うと、動作しないので、Invokeなどで0.01fなど遅らせて実行すればよい。 | ||
+ | https://gomafrontier.com/unity/225 | ||
+ | ==ローカル座標を指定== | ||
+ | isLocalをtrueへ | ||
+ | iTween.MoveTo(obj, iTween.Hash("x", 20f, "y", 15f, "time", 2f, "isLocal", true)); | ||
+ | |||
+ | 参考:http://halcyonsystemblog.jp/blog-entry-103.html | ||
==参考== | ==参考== |
2024年8月3日 (土) 19:07時点における最新版
目次
iTweenとは
オブジェクトを簡単い移動させるライブラリ
インストール
https://assetstore.unity.com/packages/tools/animation/itween-84
AssetStoreからDownload
- unity/windows/assetStoreからiTween検索
- iTweenをimportする
csにimportの記述は特にしなくてよい。
アンインストール
Assets/Plugins/Pixelplacement を削除
数秒間で座標移動する
例:mcオブジェクト
GameObject gameObject = transform.Find ("mc").gameObject; iTween.MoveTo(gameObject, new Vector3(2f, 2f, 0), 2.0f);
gameObjectが現在いる場所から2, 2へ移動する
iTween.Hashで上記と同じことをやる
iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "y", 2, "time", 2));
等速で移動
iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "y", 2, "time", 2, "EaseType", iTween.EaseType.linear));
数秒後に数秒間移動する
iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "delay", 2, "time", 3));
拡大
iTween.ScaleTo (gameObject, iTween.Hash ("x", 4, "y", 2, "time", 1f, "delay", 1f, "easeType", iTween.EaseType.easeOutBack));
等倍に拡大。ダイアログとかの、ポップアップとかに使える?
iTween.ScaleTo(confirmPanel, iTween.Hash("x", 1, "y", 1, "time", 0.1f, "easeType", iTween.EaseType.easeOutBack));
回転
iTween.RotateAdd(obj, iTween.Hash("easeType", iTween.EaseType.linear, "z", 360.0f, "time", 100f, "loopType", iTween.LoopType.loop));
ループ
iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "time", 3, "loopType", "loop"));
往復
iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "time", 3, "loopType", "pingpong"));
点滅ループ
iTween.ColorTo(gameObject, iTween.Hash("r" ,0.7f, "g" ,0.7f, "b" ,0.7f, "time", 0.5f, "loopType", "pingpong"));
点滅っぽいループ(透明版)
iTween.ColorTo(gameObject, iTween.Hash("a", 0.5f, "time", 1.0, "loopType", "pingpong"));
完了イベント追加
iTween.MoveTo (gameObject, iTween.Hash ("x", 2, "y", 2, "time", 2, "oncomplete", "OncompleteHandler", "oncompletetarget", gameObject));
void OncompleteHandler() { Debug.Log ("OncompleteHandler"); }
oncompletetargetを指定するgameObjectは第一引数のgameObjectではなく、 oncompleteで指定したメソッドが存在するGameObjectを指定する。
以下で代用もできる。
Invoke("OncompleteHandler", 2f);
震えるアクション
iTween.ShakePosition(this.gameObject, iTween.Hash("x", 0f, "y", -4f, "z", 0f, "time", 0.2f));
星形
Vector3[] movepath = new Vector3[6]; movepath[0].Set(0f, 1f, 0f); // 1 movepath[1].Set(0.5878f, -0.8090f, 0f); // 5 movepath[2].Set(-0.9511f, 0.3090f, 0f); // 9 movepath[3].Set(0.9511f, 0.3090f, 0f); // 3 movepath[4].Set(-0.5878f, -0.8090f, 0f); // 7 movepath[5].Set(0f, 1f, 0f); // 1 // 星型頂点 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10137274530 iTween.MoveTo(obj,iTween.Hash("path",movepath,"time",4, "easetype",iTween.EaseType.linear, "loopType", "pingpong"));
値をtweenで変更する
gameObjectが2つあるが、そこは、合わせる。
void Start() { Hashtable hash = new Hashtable(){ {"from", 2f}, {"to", 0f}, {"time", 1f}, {"easeType",iTween.EaseType.easeOutCubic}, {"onupdate", "OnUpdateValue"}, {"onupdatetarget", gameObject}, }; iTween.ValueTo(gameObject, hash); } void OnUpdateValue(float value) { Debug.Log("value=" + value); }
アニメーションを途中でやめる
iTween.Stop(gameObj);
直後のMoveToなどを使うと、動作しないので、Invokeなどで0.01fなど遅らせて実行すればよい。 https://gomafrontier.com/unity/225
ローカル座標を指定
isLocalをtrueへ
iTween.MoveTo(obj, iTween.Hash("x", 20f, "y", 15f, "time", 2f, "isLocal", true));
参考:http://halcyonsystemblog.jp/blog-entry-103.html
参考
項目詳細:http://madnesslabo.net/utage/?page_id=1791
項目図:http://www.inkfood.com/wordprez/wp-content/uploads/easingFunctions.png