素材巴巴 > 程序开发 >

unity3d实现Loading进度条异步加载场景

程序开发 2023-09-03 17:02:54

         一款大型游戏,开始游戏加载场景的时候一般都带有进度条加载模式,这将与进度条加载速度同步来加载场景。如果没有了进度条,我们开始游戏或者进入下一个场景的时候,因为电脑要加载大场景需要一定的时间,我们就会卡在原先的画面。所以我们需要这加载的中间插入场景来缓冲这个过程,这就是所谓进度条的作用!不会让游戏载入下一个场景时候感觉怪怪的!下面开始介绍!

      我们以开始游戏加载为例。首先新建一个新场景,把场景命名为Start吧。然后开始做界面,我就简单随随便便做了个界面,开始背景(Image)和一个开始按钮(Button)。简单写个加载场景的代码吧,public void OnClick( ) {Application.LoadLevel("Loading");}这个代码作用是加载到Loading场景,顾名思义就是进度条。代码用法是在场景中新建一个空的游戏对象命名为Start,为它绑定刚才写好的脚本。然后把对象拖拽到Button面板中,方法选中OnClick()即可!


      接下来新建一个场景,并且命名为Loading。随便做个场景,背景(Image),Text(用来显示加载进度),Loading进度条(Slider)。Silder分为三部分,上层下层和头部Image,将上层的进度条Image组件中的Image Ttpe改为Filled。进度条可不能做得那么随便,需要自己调试长宽高,否则影响进度条的美观和加载时候的效果!下面看看我做的(虽然不怎么懂画画,但PS还算可以的)


    下面来看核心脚本和注释。写好脚本以后,在场景创建一个空的游戏对象,绑定脚本,并把进度条和文本对象拖拽到脚本面板中。最重要的是在unity的File中Build Settings,按顺序添加场景,如图!



   运行来看看效果吧,已经可以了。当进度条加载到100%就可以进入游戏了!一开始把进度条禁用效果会好点,毕竟在脚本初始化中会有SetActive(true);(进度条加载速度与场景大小和计算机运行速度有关)



标签:

上一篇: ASP.NET Web Forms – TextBox 控件简介 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。