結論
- startDelay
– startDelayを足した分遅れて完了が通知される
- endDelay
– endDelayを足した分遅れて完了が通知される
そりゃそう
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<span class="synStatement">using</span> System; <span class="synStatement">using</span> PrimeTween; <span class="synStatement">using</span> UnityEngine; <span class="synStatement">using</span> UnityEngine.UI; <span class="synType">public</span> <span class="synType">class</span> <span class="synType">TweenOnCompleteCheck </span><span class="synStatement">:</span> MonoBehaviour { [SerializeField] Transform noDelay; [SerializeField] Transform withStartDelay; [SerializeField] Transform withEndDelay; [SerializeField] Transform withBothDelays; [SerializeField] <span class="synType">float</span> startDelayDuration <span class="synStatement">=</span> <span class="synConstant">1.0f</span>; [SerializeField] <span class="synType">float</span> endDelayDuration <span class="synStatement">=</span> <span class="synConstant">1.0f</span>; [SerializeField] <span class="synType">float</span> animationDuration <span class="synStatement">=</span> <span class="synConstant">4.0f</span>; [SerializeField] <span class="synType">float</span> targetPositionX <span class="synStatement">=</span> <span class="synConstant">5.0f</span>; [SerializeField] Text durationText; <span class="synType">void</span> Update() { <span class="synStatement">if</span> (Input.GetKeyDown(KeyCode.Space)) { StartTween(); } } <span class="synType">void</span> StartTween() { noDelay.position <span class="synStatement">=</span> <span class="synStatement">new</span> Vector2(<span class="synConstant">0</span>, noDelay.position.y); withStartDelay.position <span class="synStatement">=</span> <span class="synStatement">new</span> Vector2(<span class="synConstant">0</span>, withStartDelay.position.y); withEndDelay.position <span class="synStatement">=</span> <span class="synStatement">new</span> Vector2(<span class="synConstant">0</span>, withEndDelay.position.y); withBothDelays.position <span class="synStatement">=</span> <span class="synStatement">new</span> Vector2(<span class="synConstant">0</span>, withBothDelays.position.y); Tween.PositionX(noDelay, targetPositionX, animationDuration, ease<span class="synStatement">:</span> Ease.Linear) .OnComplete(() <span class="synStatement">=></span> { noDelay.GetComponent<SpriteRenderer>().color <span class="synStatement">=</span> Color.red; Debug.Log(<span class="synConstant">"Tween without delay completed"</span>); }); Tween.PositionX(withStartDelay, targetPositionX, animationDuration, startDelay<span class="synStatement">:</span> startDelayDuration, <span class="synStatement"> ease:</span> Ease.Linear).OnComplete(() <span class="synStatement">=></span> { withStartDelay.GetComponent<SpriteRenderer>().color <span class="synStatement">=</span> Color.green; Debug.Log(<span class="synConstant">"Tween with start delay completed"</span>); }); Tween.PositionX(withEndDelay, targetPositionX, animationDuration, endDelay<span class="synStatement">:</span> endDelayDuration, <span class="synStatement"> ease:</span> Ease.Linear) .OnComplete(() <span class="synStatement">=></span> { withEndDelay.GetComponent<SpriteRenderer>().color <span class="synStatement">=</span> Color.blue; Debug.Log(<span class="synConstant">"Tween with end delay completed"</span>); }); Tween.PositionX(withBothDelays, targetPositionX, animationDuration, startDelay<span class="synStatement">:</span> startDelayDuration, <span class="synStatement"> endDelay:</span> endDelayDuration, ease<span class="synStatement">:</span> Ease.Linear) .OnComplete(() <span class="synStatement">=></span> { withBothDelays.GetComponent<SpriteRenderer>().color <span class="synStatement">=</span> Color.yellow; Debug.Log(<span class="synConstant">"Tween with both delays completed"</span>); }); Tween.Custom(<span class="synConstant">0f</span>, <span class="synConstant">10f</span>, duration<span class="synStatement">:</span> <span class="synConstant">10</span>, onValueChange<span class="synStatement">:</span> <span class="synStatement">value</span> <span class="synStatement">=></span> durationText.text <span class="synStatement">=</span> <span class="synStatement">value</span>.ToString(), Ease.Linear); } } |
