using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class LoadingTest : MonoBehaviour {
public Transform m_LoadingPanel; //加载面板
private AsyncOperation async; //异步加载
private bool m_isOnceLoad = false;//只进行一次携程,利用携程进行加载
private int m_ProgerssNum; //进程数字
private int m_TempProgress;
public GameObject m_StartButton;
// Use this for initialization
void Start () {
m_StartButton.SetActive(false);
}
// Update is called once per frame
void Update () {
if (!m_isOnceLoad)
{
StartCoroutine(loading());
m_isOnceLoad = true;
}
m_TempProgress =(int)( async.progress * 100); //获取异步加载进程的数据
if (m_TempProgress>88) m_TempProgress= 100;
if (m_ProgerssNum < m_TempProgress)
{
m_LoadingPanel.GetChild(0).localScale = new Vector3(m_ProgerssNum/100,1,1);
m_LoadingPanel.GetChild(1).GetComponent<Text>().text = m_ProgerssNum.ToString()+"%";
m_ProgerssNum++;
if (m_ProgerssNum == 100)
{
m_StartButton.SetActive(true);
Destroy(m_LoadingPanel.gameObject);
}
}
}
IEnumerator loading()
{
async = SceneManager.LoadSceneAsync("Test"); //获取引用
async.allowSceneActivation = false;//不允许屏幕激活,这里我也不知道是什么
yield return async;
}
}
using System.Collections;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class LoadingTest : MonoBehaviour {
public Transform m_LoadingPanel; //加载面板
private AsyncOperation async; //异步加载
private bool m_isOnceLoad = false;//只进行一次携程,利用携程进行加载
private int m_ProgerssNum; //进程数字
private int m_TempProgress;
public GameObject m_StartButton;
// Use this for initialization
void Start () {
m_StartButton.SetActive(false);
}
// Update is called once per frame
void Update () {
if (!m_isOnceLoad)
{
StartCoroutine(loading());
m_isOnceLoad = true;
}
m_TempProgress =(int)( async.progress * 100); //获取异步加载进程的数据
if (m_TempProgress>88) m_TempProgress= 100;
if (m_ProgerssNum < m_TempProgress)
{
m_LoadingPanel.GetChild(0).localScale = new Vector3(m_ProgerssNum/100,1,1);
m_LoadingPanel.GetChild(1).GetComponent<Text>().text = m_ProgerssNum.ToString()+"%";
m_ProgerssNum++;
if (m_ProgerssNum == 100)
{
m_StartButton.SetActive(true);
Destroy(m_LoadingPanel.gameObject);
}
}
}
IEnumerator loading()
{
async = SceneManager.LoadSceneAsync("Test"); //获取引用
async.allowSceneActivation = false;//不允许屏幕激活,这里我也不知道是什么
yield return async;
}
}