unity简单的进度条实现(代码片段)

chenzirong1999 chenzirong1999     2022-12-07     255

关键词:

制作进度条所需的资源:

用以载入进度条显示的场景

进度条背景以及进度条本身(颜色区别)

展示百分制进度情况的Text文本

需要载入的场景(这里使用的是自带场景)

载入时的场景布局:要将 Load 的 Image Type 修改为 Filled,Fill Method 修改为 Horizontal

技术图片

具体代码如下:

 1 using System.Collections;
 2 using UnityEngine;
 3 using UnityEngine.SceneManagement;
 4 using UnityEngine.UI;
 5 
 6 public class Slider : MonoBehaviour
 7 
 8     private AsyncOperation aync;
 9     public Image load; // 进度条的图片
10     private int culload = 0; // 已加载的进度
11     public Text loadtext; // 百分制显示进度
12 
13     void Start()
14     
15         StartCoroutine("LoadScence");
16     
17 
18     // 定义一个迭代器,每一帧返回一次当前的载入进度,同时关闭自动的场景跳转
19     // 因为LoadScenceAsync每帧加载一部分游戏资源,每次返回一个有跨越幅度的progress进度值
20     // 当游戏资源加载完毕后,LoadScenceAsync会自动跳转场景,所以并不会显示进度条达到了100%
21     // 关闭自动场景跳转后,LoadSceneAsync只能加载90%的场景资源,剩下的10%场景资源要在开启自动场景跳转后才加载
22     IEnumerator LoadScence()
23     
24         aync = SceneManager.LoadSceneAsync("SampleScene");//SkillCD为要跳转的场景
25         aync.allowSceneActivation = false;
26         yield return aync;
27     
28 
29     void Update()
30     
31         // 判断是否有场景正在加载
32         if (aync == null)
33         
34             return;
35         
36         int progrssvalue = 0;
37         // 当场景加载进度在90%以下时,将数值以整数百分制呈现,当资源加载到90%时就将百分制进度设置为100,
38         if (aync.progress < 0.9f)
39         
40             progrssvalue = (int)aync.progress * 100;
41         
42         else
43         
44             progrssvalue = 100;
45         
46         // 每帧对进度条的图片和Text百分制数据进行更改,为了实现数字的累加而不是跨越
47         if (culload < progrssvalue)
48         
49             culload++;
50             load.fillAmount = culload / 100f;
51             loadtext.text = culload.ToString() + "%";
52         
53         // 一旦进度到达100时,开启自动场景跳转,LoadSceneAsync会加载完剩下的10%的场景资源
54         if (culload == 100)
55         
56             aync.allowSceneActivation = true;
57         
58     
59 

实际载入效果:

技术图片

 

 

 

*** |  以上内容仅为学习参考、学习笔记使用  | ***

unity使用ugui实现王者荣耀ui界面加载页面(进度条)(代码片段)

...用UGUI实现王者荣耀UI界面(一)】加载页面(进度条)1.素材准备2.界面分析3.打开UnityHub创建项目4.开始搭建UI1.准备工作2.背景图片3.导入素材4.配置背景图片5.进度条显示UI搭建6.脚本编写7.演示5.打包结语【Unity使... 查看详情

unity使用ugui实现王者荣耀ui界面加载页面(进度条)(代码片段)

...用UGUI实现王者荣耀UI界面(一)】加载页面(进度条)1.素材准备2.界面分析3.打开UnityHub创建项目4.开始搭建UI1.准备工作2.背景图片3.导入素材4.配置背景图片5.进度条显示UI搭建6.脚本编写7.演示5.打包结语【Unity使... 查看详情

unity3d场景切换加载进度条实现(代码片段)

...钮,点击加载场景B;场景B:从A切换到C过度场景,加载进度条;场景C:目标场景;创建OnProgress.cs脚本:usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.SceneManagement;publicclas 查看详情

unity_加载页面及进度条(代码片段)

...现)新建一个加载页面场景创建一个滑动条用来表示进度条 再创建一个文本用来显示进度百分比 位置随便摆一下创建一个空对象在空对象上新建挂载脚本 修改代码: 查看详情

unity带进度条加载场景及场变黑的解决方法(代码片段)

首先说加载场景显示进度条简单的来说需要协程+Update一直用UGUI,进度条就用Slider别忘了引用usingUnityEngine.UI;publicSliderslider;如果想在旁边显示个数字百分比,就再加个Text就好了publicTexttext;假设我们所在场景为old,要去往场景new,... 查看详情

第七章文本进度条的实现(代码片段)

...间呢?1、采用sleep()模拟一个持续的进度2、似乎不那么难简单的开始:1#TextProBarV1.py2importtime3scale=104print("------执行开始------")5foriinr 查看详情

linux基础实现一个简单的进度条(代码片段)

文章目录一、预备知识二、简单的倒计时三、实现一、预备知识换行和回车的区别\\r:回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖,如果之前的内容比... 查看详情

unity3d-ugui应用篇使用image实现进度条动画(代码片段)

推荐阅读CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。一、前言前段时间分享了UGUI的... 查看详情

compose自定义条形进度条(代码片段)

前言Compose自定义View其实比View系统更方便简单,比如接下来本文要介绍的就是使用Compose实现View系统中常见的条形进度条。自定义进度条Composematerial包中提供了CircularProgressIndicator实现View系统中的圆形进度条,因为Compose没... 查看详情

compose自定义条形进度条(代码片段)

前言Compose自定义View其实比View系统更方便简单,比如接下来本文要介绍的就是使用Compose实现View系统中常见的条形进度条。自定义进度条Composematerial包中提供了CircularProgressIndicator实现View系统中的圆形进度条,因为Compose没... 查看详情

linux操作系统实现一个简单的进度条(代码片段)

文章目录一、预备知识二、简单的倒计时三、实现一、预备知识换行和回车的区别\\r:回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖,如果之前的内容比... 查看详情

[python]实现文本进度条(代码片段)

目录简单的开始单行动态刷新带刷新的文本进度条简单的开始进度条是计算机处理任务或执行软件中常用的增强用户体验的重要手段,它能度条功能。今天我们将利用Python字符串处理方法实现文本进度条功能。最简单地,... 查看详情

cssreactjs的简单进度条(代码片段)

查看详情

shell实现简单的进度条(代码片段)

实现printf的有色输出:参考链接实现代码:#!/bin/bashlabel=('|''/''-''\\\\')str=''str1=''str2=''k=0#表示百分比进度foriin1..100do str+="" doneforjin0..200do letn=j%4 printf"\\0... 查看详情

gameframework框架(unity3d)使用笔记(八)实现场景加载进度条(代码片段)

...戏在转换关卡这种时候都会有个加载界面,显示加载进度。这样玩家可以对啥时候能加载好有个心理预估(判断要不要因为加载太久浪费时间不如卸载游戏(开个玩笑))。    一般加载场景显示进度条的方... 查看详情

svg的圆形进度条(代码片段)

 目前发现svg实现一些动画效果是比较高效简单的。如圆形进度条,只要会stroke-dasharray与stroke-dashoffset属性基本就可以实现,而且美观。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title 查看详情

jgui源码:实现简单进度条(19)(代码片段)

程序效果如下实现进度条动画主要有两种方法:(1)使用缓动,(2)使用JqueryAnimate,本文使用第二种方法,先实现代码,后续进行控件封装<style>.jgui-processbar.loadingbackground-color:#22B581;height:100%;width:0%;color:white;text-align:center;<... 查看详情

compose自定义条形进度条(代码片段)

前言Compose自定义View其实比View系统更方便简单,比如接下来本文要介绍的就是使用Compose实现View系统中常见的条形进度条。自定义进度条Composematerial包中提供了CircularProgressIndicator实现View系统中的圆形进度条,因为Compose没... 查看详情