最初に
「DOTween のシーケンスを使いまわしたい君へ」と内容の9割がかぶっているので、説明を見たくばそちらをどうぞ。
結論
これを足す。
.Pause()
.SetAutoKill(false)
.SetLink(gameObject);
実行時はこれ。
tweener.Restart();
毎回書くのしんどいので、関数にしましょう。
using DG.Tweening;
using UnityEngine;
public static class Utilities {
public static void MakeTweenerReusable(Tweener tweener, GameObject linkTarget) {
tweener.Pause().SetAutoKill(false).SetLink(linkTarget);
}
}
サンプル
using DG.Tweening;
using UnityEngine;
public class Ahan : MonoBehaviour {
Tweener tweener;
private void Start() {
tweener = transform.DOScaleX(0f, 1f);
Utilities.MakeTweenerReusable(tweener, gameObject);
}
private void Update() {
if (Input.GetButtonDown("Fire1")) {
tweener.Restart();
}
if (Input.GetButtonDown("Fire2")) {
tweener.Restart();
}
}
}