Unity3d异步加载进度条
2016-12-20 14:11
459 查看
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;
}
}
相关文章推荐
- Unity3D之UGUI——制作异步加载场景进度条
- Unity3D-UGUI-Image制作异步加载场景进度条
- Unity3D 场景切换异步加载进度
- (转)Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)
- [Unity3D]异步加载游戏场景与异步加载游戏资源进度条
- (转)Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)
- [Unity3D]异步加载游戏场景与异步加载游戏资源进度条
- Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度
- Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)
- Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)
- Unity3D学习之异步加载游戏场景与异步加载游戏资源进度条
- Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条
- unity异步加载场景获取进度实例[笔记]
- 【Unity3D自学记录】打造网络图片异步加载与本地缓存工具类
- Unity3D异步加载游戏场景
- AsyncTask异步加载图片(显示进度条刻度)
- unity3d异步加载场景
- 异步加载和加载进度条
- Unity3D异步加载游戏场景
- Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条