お世話になっております。
UnityのDoTweenを使ったUIのアニメーション制御を実装するため、使い方を勉強しています。
色々試しに動かしてみて、疑問点がありましたので、ご質問いたします。
DoTweenに詳しい方にご回答いただければ幸いでございます。
DoTweenを使って白の画像を以下の順番にアニメーションをしてみました。
・1秒待って透明度を0から0.3に変化(フェードイン)
・1秒待って透明度を0.7から0に変化(フェードアウト)
こちらが以下のコードになります。
public class DoFadeExample : MonoBehaviour { CanvasGroup m_CanvasGroup = default; private void Start() { // 初期状態で透明にする m_CanvasGroup = GetComponent<CanvasGroup>(); m_CanvasGroup.alpha = 0f; // Tween1: 1秒待って透明度を0から0.3に変化(フェードイン) Tweener tween1 = m_CanvasGroup.DOFade(0.3f, 1f).ChangeStartValue(0f).SetDelay(1f); // Tween2: 透明度を0.7から0に変化(フェードアウト) Tweener tween2 = m_CanvasGroup.DOFade(0f, 1f).ChangeStartValue(0.7f).SetDelay(1f); // Sequenceを作成し、Tween1とTween2を順番に実行 Sequence sequence = DOTween.Sequence(); sequence.Append(tween1); sequence.Append(tween2); // Sequenceを再生 sequence.Play(); } } コード
しかし、これを実行してアニメーションを見てみると、最初のTween1の遅延の1秒間の間、CanvasGroupのアルファ値が0.7になってしまいました。
これはTween2のChangeStartValue(0.7f)が影響しているような気がするのですが、Tween2はまだ再生されていないので、Tween1の間は0.7にならないと思っていたのですが、腑に落ちません。
ChangeStartValueの仕様を確認すると、特定のTweenの再生開始時の数値を設定するメソッドだと認識しておりますが、間違っているのでしょうか。
できれば最初にいきなりアルファ値0.7にならないようにしたいのですが、なにか良いコーディングがございましたらご教示いただければと存じます。
よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。