Unity 之异步加载
来源:互联网 发布:程序员工作一年后工资 编辑:程序博客网 时间:2024/06/05 17:57
学习下
using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityEngine.SceneManagement;public class UIMenu : MonoBehaviour{ /// <summary> /// 加载时间 /// </summary> public float m_Time = 5f; /// <summary> /// 线的颜色 /// </summary> public Color color; /// <summary> /// 是否开始渐变颜色 /// </summary> private bool m_isColorGradient = false; /// <summary> ///加载Loading的背景 /// </summary> private Image m_ImageLg; /// <summary> /// 加载Loading 的text /// </summary> private Text m_TextLg; /// <summary> /// 是否加载完成 /// </summary> private bool m_load_switch = false; /// <summary> /// 异步操作 /// </summary> private AsyncOperation async_operation; void Awake() { //m_VR = Resources.Load("Prefab/[CameraRig]") as GameObject; //m_RayClickEffect = Resources.Load("effect") as GameObject; Initialize(); } private void Initialize() { m_ImageLg = m_Menu.transform.FindChild("Loading").GetComponent<Image>(); m_TextLg = m_Menu.transform.FindChild("Loading").FindChild("Text").GetComponent<Text>(); } void Start() { m_isColorGradient = false; } void Update() { if (m_load_switch) { if (async_operation.isDone) { m_isColorGradient = false; m_load_switch = false; } } ColorChange(m_ImageLg.color, m_TextLg.color, m_isColorGradient); } /// <summary> /// 场景加载 /// </summary> /// <param name="device"></param> /// <param name="hand"></param> /// <param name="m_tip"></param> /// <param name="raycast"></param> /// <param name="hit"></param> public void DeviceAction() { m_isColorGradient = true; StartCoroutine("LoadScene", "Medieval Village"); } /// <summary> /// 加载场景 /// </summary> /// <param name="scene_name"></param> /// <returns></returns> IEnumerator LoadScene(string scene_name) { async_operation = SceneManager.LoadSceneAsync(scene_name); m_load_switch = true; yield return async_operation; } /// <summary> /// 颜色渐变 /// </summary> private void ColorChange(Color color1, Color color2, bool isGradient) { if (isGradient) { if (m_ImageLg.color.a <= 1) { Debug.Log(isGradient + "dsfdsfdsf" + i++); m_ImageLg.color += new Color(0, 0, 0, 0.01f); m_TextLg.color += new Color(1, 1, 1, 0.01f); } } else { if (m_ImageLg.color.a > 0) { m_ImageLg.color -= new Color(0, 0, 0, 0.01f); m_TextLg.color -= new Color(1, 1, 1, 0.01f); } } }}
0 0
- Unity 之异步加载
- Unity 异步加载场景
- Unity 场景异步加载
- unity异步加载
- Unity 异步加载场景
- Unity 异步加载图片
- unity之使用协程异步加载场景
- unity深入研究--之异步加载游戏场景与异步加载游戏资源进度条
- Unity制作异步加载进度条
- unity场景切换异步加载
- unity UGUI异步加载进度条
- unity UGUI 异步加载进度条
- unity异步加载 平滑加载,贼顺溜
- Unity异步加载场景与加载进度条
- UNITY之加载
- 异步加载之ajax
- 关于Unity资源异步加载的研究
- Unity 异步加载场景的代码
- DMA实现架构浅析
- hdu-5755-D - Gambler Bo-高斯消元
- NFC的android实现
- Unity VR HTC VIVE 初识
- dwr+spring 配置
- Unity 之异步加载
- JavaScript中的构造函数和原型对象
- 上传与下载
- Java 源码解析
- css3 旋转
- css3 transform
- POJ2406之后缀数组
- Firebase Android 使用整理
- 查找数组的前K个最小值的算法