ui monobehaviour Class, который вызывает анимации, < /p>
и немоноби-хавир, где я писал вспомогательные методы для Dotween Animation плавно).
Но если я запускаю ту же анимацию позже (например, нажав кнопку или вызывая ее вручную после начала игры), она работает правильно.
Код: Выделить всё
using DG.Tweening;
using UnityEngine;
public class WindowStartAnimation : MonoBehaviour
{
[SerializeField] private GameObject _window;
private UIAnimation _UIAnimation;
[SerializeField] private float _animDuration = 1f;
private void Start()
{
_UIAnimation = new();
_UIAnimation.UIScale(_window, new Vector3(0.4f, 0.4f), Vector3.one, _animDuration, Ease.OutBack, false);
}
}
using DG.Tweening;
using UnityEngine;
using UnityEngine.UI;
public class UIAnimation
{
public void UIScale(GameObject obj, Vector3 start, Vector3 end, float time = 0.6f, Ease ease = Ease.OutBack, bool isUpdate = true)
{
obj.transform.localScale = start;
obj.transform.DOScale(end, time).SetEase(ease, overshoot: 1.2f).SetLink(obj).SetUpdate(isUpdate);
}
//move metods
}
< /code>
Поскольку цель - это прямотрансформация пользовательского интерфейса, возможно, заикание происходит потому, что система макета все еще обновляется в start (). < /p>
Я также пытался сделать start () асинхронный и настраивать анимацию непосредственно в классе Monobehaviour. все еще заикается, когда вы вызываете in Start ().
Подробнее здесь: https://stackoverflow.com/questions/797 ... tart-unity
Мобильная версия