DoTweenの勉強をしており、複数のアクションをするには
シーケンスを使えばよいというところまでは理解できました。
現在、
・画像の透過値0→255に
・255になったら画面上部に移動
というシンプルな動きを試しています。
こちらのリスタート機能を試したのですが、
元の位置に戻るだけでうまく動作しません。
OnCompleteが呼ばれるまではリスタート機能がはたらくため、
何かしら保持が必要なのでしょうか。
またRectTransformを使っているのですが、DoTween上で
終了値だけでなく初期値を設定する方法などないでしょうか。
下記がコードとなります。
C#
1using DG.Tweening; 2 3public GameObject imageLogo; 4 5private Sequence sequenceLogo; 6 7void Start() { 8 9// 最初は消えている 10 Image image = imageLogo.GetComponent<Image>(); 11 12 Vector3 pos = new Vector3(0, 0, 0); 13 imageLogo.GetComponent<RectTransform>().localPosition = pos; 14 15 sequenceLogo = DOTween.Sequence(); 16 17 // 透過値 18 sequenceLogo.Append( 19 DOTween.ToAlpha( 20 () => new Color(255, 255, 255, 0), 21 color => image.color = color, 22 1.0f, 23 0.5f 24 ).SetEase(Ease.InSine) 25 ); 26 27 // 画面上部に移動 28 sequenceLogo.Append( 29 imageLogo.GetComponent<RectTransform>().DOLocalMove ( 30 new Vector3(0, 250, 0), 31 1.0f 32 ).OnComplete(() => { 33 Debug.Log("end"); 34 //sequenceLogo.Restart(); 35 //sequenceLogo.Pause(); 36 }) 37 ); 38 39} 40 41void Update() { 42 if(Input.GetButton("Fire1")){ 43 44 Image image = imageLogo.GetComponent<Image>(); 45 46 Vector3 pos = new Vector3(0, 0, 0); 47 imageLogo.GetComponent<RectTransform>().localPosition = pos; 48 49 sequenceLogo.Restart(false, -1f); 50 } 51} 52
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/19 17:55