株式会社ZOOA(ゾーア)のzobです。[@twitter]
弊社はフリーランスや、個人事業主、給料UPを目指している方向けに高単価求人案件配信サイト(ZOB)も運営しておりますので是非ご覧ください!
前回に引き続き、iTweenを色々と試してみました。
今回はScale系のメソッドを試してみました。
検証で使用したUnityバージョンは以下の通りです。
Unity2018.1.0f2
#iTween.ScaleTo
ScaleToは指定した値まで拡大・縮小アニメーションを行います。
使い方は以下の通りです
iTween.ScaleTo(gameObject, iTween.Hash("x", 10f));
上記のGifはアニメーションの様子をわかりやすくするため、以下の通り5秒の時間指定があります。
iTween.ScaleTo(gameObject, iTween.Hash("x", 10f, "time", 5f));
感覚的にはMoveTo、RotateToと同じように使えそうです!
iTween.ScaleTo(gameObject, iTween.Hash("x", 10f, "y", 10f));
iTween.ScaleTo(gameObject, iTween.Hash("x", 10f, "z", 10f));
iTween.ScaleTo(gameObject, iTween.Hash("y", 10f, "z", 10f));
Scaleを3つ指定することもできます!
iTween.ScaleTo(gameObject, iTween.Hash("x", 10f, "y", 10f, "z", 10f));
以下のように、Hashで同じ座標を2回以上指定すると動かない(エラーが出る)ので注意が必要です。
iTween.ScaleTo(gameObject, iTween.Hash("z", 10f, "z", -10f));
#iTween.ScaleFrom
ScaleFromは指定した値から、元の値に拡大・縮小アニメーションさせます。
使い方は以下の通りです。
iTween.ScaleFrom(gameObject, iTween.Hash("x", 10f);
#iTween.ScaleUpdate
ScaleUpdateはScaleToと同じ、指定した値に拡大・縮小アニメーションさせます。
iTween.ScaleUpdate(gameObject, iTween.Hash("x", 10f);
MoveUpdate、RotateUpdateと同じ、Updateで呼ばないと拡大・縮小アニメーションされません。
public class iTweenTest: MonoBehaviour
{
void Update()
{
iTween.ScaleUpdate(gameObject, iTween.Hash(""x", 10f));
}
}
ScaleUpdateはUIのスクローラー等でオブジェクトの拡大縮小を動的に行いたいと使うと便利です。
#iTween.ScaleBy
ScaleByは現在の値から、指定した値を乗算して拡大・縮小アニメーションさせます。
iTween.ScaleBy(gameObject, iTween.Hash("x", 10f);
ScaleByは元のScaleの値×指定したScaleの値で拡大・縮小アニメーションの最大値を決めているようです。
以下のように2fを初期値として入れている場合、20fまで拡大アニメーションが走るため注意が必要です。
#iTween.ScaleAdd
ScaleAddは少々特殊な動作をします。
ScaleAddを以下の通り単体で呼び出した場合は、現在のオブジェクトのScale値+ScaleAddで設定した値の分だけ拡大・縮小アニメーションを行います。
iTween.ScaleAdd(gameObject, iTween.Hash("x", 10f, "time", 5f));
Addが付いている通り、ScaleAddは他の拡大・縮小アアニメーション実行中でも利用可能でが、Scale系のアニメーションが再生されている場合は、一度拡大・縮小アニメーションがストップ後、ストップ時点でのオブジェクトのScale値+ScaleAddで設定した値の分だけ拡大・縮小アニメーションを行います。
説明だけだと分かりにくいと思うので、以下のサンプルコードで動作を試します。
iTween.ScaleTo(gameObject, iTween.Hash("x", 10f, "time", 5f));
iTween.ScaleAdd(gameObject, iTween.Hash("y", 10f, "time", 5f, "delay", 0.5f));
結果は上記の通り、ScaleToによりXが10fになる前に拡大・縮小アニメーションが止まり、次のScaleAddでY方向にScaleされました。
まとめ
Scale系を一通り試してみました。拡大・縮小アニメーションがこんなにも簡単にできるのはいいですね。
他にPunchScale、ShakeScaleがありますが、これは後日検証して記事に書きます。
次回もiTweenの検証結果を書いていきます!
UnityのiTweenを試してみる
その1 Move系
その2 Rotate系
その3 Scale系←今ココ
その4 Shake系
その5 Punch系
株式会社ZOOA(ゾーア)
弊社はフリーランスや、個人事業主に特化したSES案件共有サイト(ZOB)も運営しておりますので給料UPを目指している方は是非こちらもご覧ください!