效果图:Loading面板的进度条加载完毕之后,直接跳转到主页面
实现方法:
1.首先要控制进度条的移动:这部分功能我们是在LoadingPanel面板上写了一个名LoadingPanel的脚本,其中利用一个协程,来控制进度条的移动。
2.其次是跳到主页面:在协程条件退出的时候,(这里我们设置的是三秒后退出协程),退出时先关闭当前UI面板,再显示主面板即可。
LoadingPanel.cs
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class LodingPanel : NBasePanel {
void Start () {
StartCoroutine(Loding());//开启协程
}
private IEnumerator Loding()
{
var t = Time.time;//记录一开始的时间
var img = transform.Find("bottom/Image").GetComponent<Image>();//获取进度条
img.fillAmount = 0;//进度条的填充为0
while (true)
{
yield return new WaitForSeconds(0.02f);
//控制每隔0.02秒执行一次
//控制进度条
img.fillAmount = (Time.time - t)/3;
if (Time.time - t > 3)//如果从协程开始到结束的时间>3秒,那么就可以退出循环了
{
NUIManager.GetInstance().PopPanel();//关闭当前UI
NUIManager.GetInstance().PushPanel(UIPanelType.MainPanel);//显示主面板
break;//退出
}
}
}
void Update () {
}
}
最后关于UI框架里面封装的那些NUIManager之类的总的工具包的链接在UI框架系列的第一篇文章里,附上链接,需要的自提哦Unity中UI框架的使用1-添加面板、显示Loading页面_Weirdo_ran的博客-CSDN博客