KraGenDeveloper
@KraGenDeveloper
Unity Developer

Плавное заполнение слайдер. Как сделать?

Есть слайдер и есть здачения int procent;
нужно что бы при вызове слайдер плавно заполнялся от нуля к значению int procent. Я уже не знаю как делать ибо пробовал и Mathf.Lerp Mathf.MoveToWards и через корутину короче дичь. Не знаю как сделать. Помогите кто может пожалуйста
  • Вопрос задан
  • 319 просмотров
Решения вопроса 1
K0TlK
@K0TlK
Буллю людей.
В корутине заполняешь с течением времени.

using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class SliderFilling : MonoBehaviour
{
    [SerializeField] private Slider _slider = null;
    [SerializeField] private float _fillTime = 3f;

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            StartCoroutine(FillValue(0.5f));
        }
    }

    private IEnumerator FillValue(float value)
    {
        var estimateTime = 0f;
        
        while(estimateTime < _fillTime)
        {
            estimateTime += Time.deltaTime;
            _slider.value = Mathf.Lerp(0, value, estimateTime / _fillTime);
            yield return null;
        }
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы