728x90
using UnityEngine.UI;
Image circleProgress;
private const float loopTimeValue = 1.0f; //그리는데 걸리는 시간
public AnimationCurve loopAnimCurve; //그리는 속도를 조정해줄 애니메이션 커브
private float targetValue = 0.0f;
private float currentValue = 0.0f;
void Awake
{
targetValue = 목표값 입력;
currentValue = 0; //현재값 초기화
circleProgress.fillAmount = 0.0f; //progress fillamount 초기화
StartCoroutine(MoveProgressCoroutine());
}
IEnumerator MoveProgressCoroutine()
{
var targetFillAmount = currentValue / targetValue;
var currentFillAmountValue = circleProgress.fillAmount;
var loopTime = 0.0f;
while (loopTime < loopTimeValue)
{
loopTime += (Time.fixedDeltaTime * 0.1f);
circleProgress.fillAmount = Mathf.Lerp(currentFillAmountValue, targetFillAmount, loopAnimCurve.Evaluate(loopTime));
yield return null;
}
}
728x90
반응형
'Unity3D > Unity & C#' 카테고리의 다른 글
Unity & C# ~ Text 형식 표기법(NO, F0, P0, D0 등) (0) | 2022.08.22 |
---|---|
Unity & C# ~ VisualStudio 단축키 중 (내가) 자주 사용하는 단축키 (0) | 2022.07.05 |
Unity & C# ~ TMPRO에서 텍스트 길이 아는 법 (0) | 2022.07.01 |
Unity & C# ~ Text 말 줄임표 표기 (0) | 2022.07.01 |
Unity & C# ~ multipart 코드 분석 (0) | 2022.06.28 |