Как мне изменить конечное значение Tweens, которое находится внутри последовательности?C#

Место общения программистов C#
Anonymous
Как мне изменить конечное значение Tweens, которое находится внутри последовательности?

Сообщение Anonymous »

Я пытаюсь создать систему номеров повреждений для моего проекта Unity, используя Dotween, и я установил красивую последовательность, которую я хочу играть, когда враг получает урон. Последовательность включает в себя текстовый объект, движущийся вверх и исчезает. У меня есть бассейн из 10 текстовых объектов для повторного использования, поэтому, когда более 10 чисел требуется одновременно, самый старый из них сброшен и повторно используется. Моя проблема в том, что, хотя я использую SetRelative (TRUE) исходное конечное значение повторно используется, даже если текстовый объект был перемещен. Это означает, что начиная с 11 -го экземпляра. Как получить ссылку на сам твинер. Я не могу поднять последовательность в твинер, чтобы получить доступ к изменению LEANDVALUE .
Вот код для моей последовательности:

_tweenSequence = DOTween.Sequence()
.Insert(0, display.DOFade(0, 1f))
.Insert(0, display.transform.DOLocalMoveY(_canvasHeight/10f, 1f).SetRelative(true))
.Pause()
.SetAutoKill(false)
.OnComplete(() => display.gameObject.SetActive(false));
< /code>
Вот как я начинаю запускать Tweens, когда нанесен повреждение: < /p>

Код: Выделить всё

    private void AnimateText(int index, Vector3 damageLocation)
{
var display = _displayTexts[index];

var viewportPosition = _cam.WorldToViewportPoint(damageLocation);

var screenPoint = Vector3.Scale(viewportPosition, new Vector3(_canvasWidth, _canvasHeight, 1));

// reset the text position
display.transform.position = screenPoint;

_tweenSequence[index].Restart();
}
thanks.


Подробнее здесь: https://stackoverflow.com/questions/795 ... a-sequence

Вернуться в «C#»