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 속성만 필요하다는 것입니다.
어떻게, 아주 간단하지 않습니까?