Unity - 두 개의 진행률 표시줄 생성

1. 진행률 표시줄 - 선형

1단계: 슬라이더와 텍스트를 만들어 캐주얼하게 넣습니다.

 2단계: 스크립트 작성

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

public class LineLoad : MonoBehaviour
{
    //进度显示
    public Text text;
    //进度条
    public Slider progressSlider;

    private void Start()
    {
        StartCoroutine(LoadScene());
    }
    IEnumerator LoadScene()
    {
        AsyncOperation operation = SceneManager.LoadSceneAsync("ExcelScene");

        while (!operation.isDone)
        {
            progressSlider.value = operation.progress;

            text.text = operation.progress * 100 + "%";

            if (operation.progress >= 0.9f)//如果进度条已经到达90%
            {
                progressSlider.value = 1; //那就让进度条的值编变成1
                text.text = "加载完成!";
            }
            yield return null;
        }
    }
}

3단계: 장면을 BuildSetting으로 로드

완료!

2. 진행률 표시줄 - 파이 모양

1단계: 반지와 유사한 그림을 찾아 이미지로 만들고 텍스트를 추가합니다.

 2단계: Image 유형을 Filled 유형으로 변경하고 시작점 Origin을 Top으로 변경하고 Clockwise를 false로 변경합니다.

              fillAmount가 0으로 변경됨

 3단계: 스크립트 작성

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

public class CircleLoad : MonoBehaviour
{
    public Image m_Image;
    public Text m_Text;

    private void Start()
    {
        m_Image.fillAmount = 0;

        StartCoroutine(LoadSceneCircle());
    }

    IEnumerator LoadSceneCircle()
    {
        AsyncOperation operation = SceneManager.LoadSceneAsync("ExcelScene");

        while (!operation.isDone)
        {
            m_Image.fillAmount = operation.progress / 100f ;

            m_Text.text = operation.progress * 100 + "%";

            if (operation.progress >= 0.9f)//如果进度条已经到达90%
            {
                m_Image.fillAmount = 1; //那就让进度条的值编变成1
                m_Text.text = "加载完成!";
            }
            yield return null;
        }
    }
}

이것과 위의 차이점은 여기에서는 주로 fillAmout 속성이 사용되는 반면 진행률 표시줄에는 Slider의 Process 속성만 필요하다는 것입니다.

어떻게, 아주 간단하지 않습니까?

추천

출처blog.csdn.net/leikang111/article/details/130423241