博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Unity】场景异步加载的进度条制作
阅读量:4087 次
发布时间:2019-05-25

本文共 1353 字,大约阅读时间需要 4 分钟。

using UnityEngine;using System.Collections;using UnityEngine.UI;/// /// 脚本位置:Main Camera/// 脚本功能:场景异步加载的进度条显示/// public class LoadingScene : MonoBehaviour{	// 滑动条	public Slider processBar;	// Application.LoadLevelAsync()这个方法的返回值类型是AsyncOperation	private AsyncOperation async;	// 当前进度,控制滑动条的百分比	private uint nowprocess = 0;	void Start ()	{		// 开启一个协程		StartCoroutine (loadScene ());	}	// 定义一个协程	IEnumerator loadScene ()	{		// 异步读取场景		// 指定需要加载的场景名		async = Application.LoadLevelAsync ("需要加载的场景名字或者index");		// 设置加载完成后不能自动跳转场景		async.allowSceneActivation = false;		// 下载完成后返回async		yield return async;			}	void Update ()	{		// 判断是否加载完需要跳转的场景数据		if (async == null) {			// 如果没加载完,就跳出update方法,不继续执行return下面的代码			return;		}		// 进度条需要到达的进度值		uint toProcess;		Debug.Log (async.progress * 100);		// async.progress 你正在读取的场景的进度值  0---0.9		// 如果当前的进度小于0.9,说明它还没有加载完成,就说明进度条还需要移动		// 如果,场景的数据加载完毕,async.progress 的值就会等于0.9		if (async.progress < 0.9f) {			//  进度值			toProcess = (uint)(async.progress * 100);		}		// 如果能执行到这个else,说明已经加载完毕		else {			// 手动设置进度值为100			toProcess = 100;		}		// 如果滑动条的当前进度,小于,当前加载场景的方法返回的进度		if (nowprocess < toProcess) {			// 当前滑动条的进度加一			nowprocess++;		}		// 设置滑动条的value		processBar.value = nowprocess / 100f;		// 如果滑动条的值等于100,说明加载完毕		if (nowprocess == 100) {			// 设置为true的时候,如果场景数据加载完毕,就可以自动跳转场景			async.allowSceneActivation = true;		}	}	}

转载地址:http://iukii.baihongyu.com/

你可能感兴趣的文章
电机堵转
查看>>
carzepony也在想往FreeRTOS上迁移
查看>>
可以买个好点的电烙铁
查看>>
ACfly调参记录(包括ACfly-F330和ACfly-T265)
查看>>
一定记得每飞几次或者隔一天要把螺丝和浆帽拧一次,确实会松的
查看>>
《多旋翼无人飞行器嵌入式飞控开发指南》里基于FreeRTOS的无人机软件框架
查看>>
思岚A1的SDK其实很好读懂,每个函数清晰明了,可以直接调用
查看>>
pixhawk(PX4)的一些论坛网站(包括中文版的PX4用户手册和PX4开发手册)
查看>>
串级 PID 为什么外环输出是内环的期望?(和我之前对串级PID的总结一样)
查看>>
我刚刚才完全清楚GPS模块的那根杆子是怎么固定安装好的
查看>>
去github里面找找也没有别人无人机+SLAM的工程
查看>>
PX4与ROS关系以及仿真控制(键盘控制无人机)
查看>>
我对无人机重心高度的理解
查看>>
现在明白为什么无名博客里好几篇文章在讲传感器的滞后
查看>>
实际我看Pixhawk定高模式其实也是飞得很稳,飘得也不厉害
查看>>
Pixhawk解锁常见错误
查看>>
C++的模板化等等的确实比C用起来方便多了
查看>>
ROS是不是可以理解成一个虚拟机,就是操作系统之上的操作系统
查看>>
用STL algorithm轻松解决几道算法面试题
查看>>
ACfly之所以不怕炸机因为它觉得某个传感器数据不安全就立马不用了
查看>>