手把手教会你unity场景切换进度条制作(代码片段)

_橙子先生 _橙子先生     2023-04-03     712

关键词:

30秒教会你Unity场景切换进度条

大家好,我是橙子,今天为大家带来的是Unity场景切换进度条的教程。
★,♫◦★,♫◦★,♫◦★,--------------------华丽的分割线--------------------♫◦★,♫◦★,♫◦★,♫◦★,♫◦

首先问一个问题:为什么要用进度条,以及什么情况下才用进度条呢?

答:有一些场景,里面包含非常多的资源,比如一个很大的游戏场景,往往加载很慢。这个时候,如果你什么都不干,在场景加载的过程中,用户会认为"游戏卡死"了,所以用一个进度条来过度,增加游戏体验。 话不多说 ,直接上才艺!

一、 创建游戏场景及搭建面板UI

首先,我们创建一个游戏场景
然后我们新建一个UI->>Panel

再新建一个Skuder(滑动条) 如果有小伙伴不知道Skuder是什么,可以先去看看Unity的UGUI教程再来哦
就像这样 tips:按键盘上的T 然后鼠标选中边框,按住Ait键 可以等比放大哦~

我们可以在这里,修改滑动块的样式

我的设置好了,不知道你们是什么样的呢?

在这里全选他们,然后设置一下锚点,可以适应不同设备的分辨率哦~

我的进度条大概就是这样了。你的做完了吗?

二 、添加代码

我们新建一个C#脚本 名为LoadSceneManager

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class LoadSceneManager : MonoBehaviour

    public GameObject loadScreen;//显示进度条的面板
    public Slider slider;//滑动条组件
    public Text text;//显示百分比的文字

定义好以后,咱们回到Unity去赋值。然后添加Button的绑定事件(你切换场景的按钮)

赋值完成后 我们继续写代码

(1)加载完成后进入场景完整代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class LoadSceneManager : MonoBehaviour

    public GameObject loadScreen;//显示进度条的面板
    public Slider slider;//滑动条组件
    public Text text;//显示百分比的文字

	//别忘了给按钮添加点击事件
    public void LoadNextLevel()
    
        StartCoroutine(Loadlevel());
    
    IEnumerator Loadlevel()
    
        loadScreen.SetActive(true);
        AsyncOperation operation = SceneManager.LoadSceneAsync("Main");
        while (!operation.isDone)//isDone 是否完成进度条
        
            slider.value = operation.progress;
            text.text = operation.progress * 100 + "%";//百分比
            if (operation.progress>=0.9f)//如果进度条已经到达90%
            
                slider.value = 1; //那就让进度条的值编变成1
                text.text = "加载完成!";
            
            yield return null;
        
    


(2)加载完成 需要按键后 进入场景完整代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class LoadSceneManager : MonoBehaviour

    public GameObject loadScreen;//显示进度条的面板
    public Slider slider;//滑动条组件
    public Text text;//显示百分比的文字

    public void LoadNextLevel()
    
        StartCoroutine(Loadlevel());
    
    IEnumerator Loadlevel()
    
        loadScreen.SetActive(true);
        AsyncOperation operation = SceneManager.LoadSceneAsync("Main");//(SceneManager.GetActiveScene().buildIndex+1);
        operation.allowSceneActivation = false;//是否允许加载新场景? 需要加载完自动跳转  就不用添加这句话

        while (!operation.isDone)//isDone 是否完成进度条
        
            slider.value = operation.progress;
            text.text = operation.progress * 100 + "%";//百分比

            if (operation.progress>=0.9f)//如果进度条已经到达90%
            
                slider.value = 1; //那就让进度条的值编变成1
                text.text = "请点击屏幕继续!";
                if (Input.anyKey)//如果点击了任意按键
                
                    operation.allowSceneActivation = true;//就可以跳转场景
                
            
            yield return null;
        
    



.

三、 最终效果

四、结束语

不及硅步,无以至千里。
不积小流,无以成江海。
每天进步一点点 谢谢您的观看。

觉得对自己有帮助,欢迎关注、收藏、转发!

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

制作进度条所需的资源:用以载入进度条显示的场景进度条背景以及进度条本身(颜色区别)展示百分制进度情况的Text文本需要载入的场景(这里使用的是自带场景)载入时的场景布局:要将Load的ImageType修改为Filled,FillMethod修... 查看详情

游戏开发创新手把手教你使用unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化|频谱|audio)(代码片段)

文章目录一、前言二、获取UI素材三、使用UGUI制作界面1、界面布局2、账号圆形头像3、搜索框4、调节UI层5、黑色按钮悬浮高亮效果6、纯文字按钮7、滚动列表自适应8、歌名与视频图标混排9、点击按钮切换图片10、进度条四、写... 查看详情

游戏开发创新手把手教你使用unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化|频谱|audio)(代码片段)

文章目录一、前言二、获取UI素材三、使用UGUI制作界面1、界面布局2、账号圆形头像3、搜索框4、调节UI层5、黑色按钮悬浮高亮效果6、纯文字按钮7、滚动列表自适应8、歌名与视频图标混排9、点击按钮切换图片10、进度条四、写... 查看详情

再见http?10分钟手把手教会你将网站切换到https,安全有保障,yyds!(代码片段)

CSDN的小伙伴们,大家好,我是刚脱离险境的二哥呀!很久(大概两年)之前,我就搞了一个独立的个人博客网站,长下面这样。大家有访问过的,可以在评论区扣1可惜一直没搞备案和HTTPS,导... 查看详情

pygame六种方法教会你画进度条,其实也不难!(代码片段)

pygame六种方法教会你画进度条,其实也不难!好的,直接开始。文章目录一、标准动作,先初始化个主界面二、第一种进度条(一)核心代码(二)设置步长,并循环递增(三)完整代... 查看详情

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

就是其他主页点击按钮后先跳转到这个加载页面场景,同时异步加载要跳转到的场景参考:UnitySceneManager场景管理Chinar详解APIUnity场景异步加载(加载界面的实现)新建一个加载页面场景创建一个滑动条用来表示进... 查看详情

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

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

手把手教你实现一个vue进度条组件!(代码片段)

最近在个人的项目中,想对页面之间跳转的过程进行优化,想到了很多文档或npm等都用到的页面跳转进度条,于是便想自己去实现一个,特此记录。来看下npm搜索组件时候的效果:so下面咱们一起动手实现一下呗。定义使用方式... 查看详情

unity打字机三种方式教会你(代码片段)

Unity打字机教程预读成品第一步创建UGUI布局并修改自适应第二步添加文本框第三步写代码之第一种:常规写法之第二种:协程+for循环之第三种:while循环+协程挂载脚本总结结束语预读大家好,我是橙子,... 查看详情

一篇文章教会你如何制作精美导航条(代码片段)

【一、项目背景】让更多的人去学习html,以广东科技学院的导航栏为例,教大家怎么去做一个横向的导航栏。【二、项目准备】准备一个编程的软件Dreamweaver,打开软件点击文件新建一个叫导航栏的项目,如下图所示。点击确定... 查看详情

在unity3d里怎么做进度条

一、任意建两个场景,分别命名为testScene1、testScene2,两个场景中分别设置“切换场景”按钮,便于立昂场景之间的相互切换,注意,两个切换按钮加载的的场景均是”loadScene“;建loadScene场景,用于处理加载进度条。二、导入N... 查看详情

unity3d中怎么制作关卡载入进度条

1.新建两个场景,保存为level1和level22.将图片素材放进工程文件中,分别作为关卡背景、进度条背景和进度条前景3.创建C#脚本,取名Life4.打开脚本,加入如图所示代码5.将脚本拖拽到摄像机上,将三张图片对号入座到图片变量中6.... 查看详情

git每天1分钟系列——(手把手教会为止)git项目分支搭建(代码片段)

创建项目分支每个员工开发期的代码互不干扰,并行开发,则每人使用一条分支项目开发中公用分支包括master、dev分支master用于发布,默认分支,当需要发布时将dev分支合并分支dev开发阶段性的代码合并,每... 查看详情

unity3d中制作异步loading进度条所遇到的问题

背景通常游戏的主场景包括的资源较多,这会导致载入场景的时间较长。为了避免这个问题,能够首先载入Loading场景。然后再通过Loading场景来载入主场景。由于Loading场景包括的资源较少,所以载入速度快。在载入主场景的时候... 查看详情

unity3d中制作loading场景进度条所遇到的问题loadlevelasync,asyncoperation

背景通常游戏的主场景包含的资源较多,这会导致加载场景的时间较长。为了避免这个问题,可以首先加载Loading场景,然后再通过Loading场景来加载主场景。因为Loading场景包含的资源较少,所以加载速度快。在加载主场景的时候... 查看详情

进度条的制作unity

不说了直接上代码:LoadingPanel:usingUnityEngine;usingSystem.Collections;usingUnityEngine.UI;usingUnityEngine.SceneManagement;publicclassLoadingPanel:MonoBehaviourpublicSliderprocessBar;publicImageloadingBg;in 查看详情

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

前言:    游戏在转换场景的时候,需要花费时间来加载相关的资源。而这个过程往往因为游戏场景的规模和复杂度以及玩家电脑配置的原因花费一小段时间(虽然这个项目里用不到)。    所以,如果这... 查看详情

游戏开发建模教你使用unityprobuilder制作基础模型,搭建场景原型(保姆级教程|unity2021最新版)(代码片段)

文章目录一、前言二、安装插件三、基础操作1、切换编辑器模式1.1、OpenasFloatingWindow1.2、OpenasDockableWindow1.3、UseTextMode1.3、UseIconMode2、创建基础模型2.1、Arch拱门2.2、Cone圆锥体2.3、Cube立方体2.4、Cylinder圆柱体2.5、Door门2.6、Pipe管道2... 查看详情