Unity跳转场景
Unity中如何加载场景
1、首先需要将场景添加到 Build Settings中,如下图:

2、引用using UnityEngine.SceneManagement;
同步加载:如果场景很大,有可能会卡顿。
using UnityEngine;
using UnityEngine.SceneManagement; public class TestA : MonoBehaviour
{
private void Start()
{
SceneManager.LoadScene("SceneName");
}
}
异步加载:
我们需要三个场景来完成异步加载,开始场景、过渡场景、目标场景,一般会在过渡场景来做个加载进度条。
假设我们现在有TestA、TestB、TestC三个场景,如何完成A到B到C的异步加载,并实现加载进度条呢?代码如下:
在TestA场景中挂载脚本TestA
using UnityEngine;
using UnityEngine.SceneManagement; public class TestA : MonoBehaviour
{
private void Start()
{
SceneManager.LoadSceneAsync("TestB");
}
}
在TestB场景中挂载脚本TestB
using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI; public class TestB : MonoBehaviour
{
public Slider slider; //加载进度条
private AsyncOperation mAsyncOperation; //异步加载信息 private void Start()
{
StartCoroutine(LoadScene());
}
private void Update()
{
UpdateSlider();
}
/// <summary>
/// 异步加载场景
/// </summary>
/// <returns></returns>
IEnumerator LoadScene()
{
mAsyncOperation = SceneManager.LoadSceneAsync("TestC");
//不跳转场景,停留在当前场景
mAsyncOperation.allowSceneActivation = false;
yield return mAsyncOperation;
}
/// <summary>
/// 更新加载进度条
/// </summary>
private void UpdateSlider()
{
if (slider.value >= )
{
//跳转到目标场景
mAsyncOperation.allowSceneActivation = true;
return;
}
else if (slider.value >= 0.9f)
{
slider.value += Time.deltaTime;
return;
}
//mAsyncOperation.progress属性为场景加载进度,但是最大值为0.9f。
slider.value = mAsyncOperation.progress; }
}
这样就可以完成异步加载,并实现加载进度条。
有两点需要注意:
1、mAsyncOperation.progress属性最大值为0.9f。
2、用mAsyncOperation.allowSceneActivation来控制什么时候跳转场景。
如果场景太小的,加载会非常快,进度条会一闪而过,所以进度条是否使用mAsyncOperation.progress属性的值,根据自己的需求来。
Unity跳转场景的更多相关文章
- Unity跳转场景进度条制作教程(异步加载)
Unity跳转场景进度条制作 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享 ...
- iOS开发 跳转场景的三种方式
iOS开发 跳转场景的三种方式 2012年10月17日, 15:32 假设A跳转到B,三种方法:1.按住ctrl键,拖动A上的控件(比如说UIButton)到B上,弹出菜单,选择Modal.不需要写任 ...
- storyboard三种sugue 和 跳转场景的三种方式 以及控制器之间的传值
Storyboard引入了2个概念:1. scene:一个场景,由一个viewController和相关的xib表示. 2. segue:在这是用于连接scenes,其有多种类型,iphone包括:P ...
- HoloLens开发手记 - Unity之Persistence 场景保持
Persistence 场景保持是HoloLens全息体验的一个关键特性,当用户离开原场景中时,原场景中全息对象会保持在特定位置,当用户回到原场景时,能够准确还原原场景的全息内容.WorldAncho ...
- 【Unity入门】场景、游戏物体和组件的概念
版权声明:本文为博主原创文章,转载请注明出处. 游戏和电影一样,是通过每一个镜头的串联来实现的,而这样的镜头我们称之为“场景”.一个游戏一般包含一个到多个场景,这些场景里面实现了不同的功能,把它们组合 ...
- 【Unity入门】场景编辑与场景漫游快捷键
版权声明:本文为博主原创文章,转载请注明出处. 打开Unity主窗口,选择顶部菜单栏的“GameObject”->“3D Object”->“Plane”在游戏场景里面添加一个面板对象.然 ...
- Firefly的角色跳转场景简单示例
源地址:http://bbs.9miao.com/thread-45790-1-2.html 本例演示的是模拟游戏服务端,让角色在场景1中跳转到场景2中.在实际游戏中,client将要跳转的角色id和 ...
- unity中实现场景之间加载进度条
using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; using UnityEngine.UI ...
- unity 3D游戏场景转换
//////////////////2015/07/07//////// /////////////////by xbw/////////////// ///////////////环境 unity ...
随机推荐
- [原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(三) -- 安装confluence 6.6.1
[原创] debian 9.3 搭建Jira+Confluence+Bitbucket项目管理工具(三) -- 安装confluence 6.6.1 有了安装Jira的经验, 这次再安装conflue ...
- JSON中的parse和Stringify方法
JSON.parse(str) 将字符串解析成对象 var str = '{"name":"huangxiaojian","age":&q ...
- Linux Apache配置https访问
配置https访问 该环境是rh254课程配套的一个环境,不过配置方法步骤相同. 要求: 使用虚拟主机技术部署两个网站: 网站1: 绑定域名 www0.example.com 目录在 /srv/www ...
- 牛客小白月赛13 小A的柱状图(单调栈)
链接:https://ac.nowcoder.com/acm/contest/549/H来源:牛客网 题目描述 柱状图是有一些宽度相等的矩形下端对齐以后横向排列的图形,但是小A的柱状图却不是一个规范的 ...
- 原型设计工具—Axure
作为软件设计的一员,需要在软件开发初期确保软件的具体内容,防止后期大幅度的修改. 在这样的情况下,原型设计软件就起到了关键的作用. 摘要: 原型设计为什么这么重要呢? 因为它帮助我们搭建了低保真或高保 ...
- 【LeetCode刷题系列 - 002题】Add Two Numbers
题目: You are given two non-empty linked lists representing two non-negative integers. The digits are ...
- C#导入c++ dll报找不到dll文件 masm32调用c++类库
最近需要在C#下调用一个c++ dll库,不管怎样dllimport就是报错找不到该dll文件,路径.函数名称.参数.dllimport参数逐个检查确认无误也无济于事,无奈想用其他语言调用试试,由于是 ...
- python 打开浏览器的方法 Python打开默认浏览器
一.python 打开浏览器的方法: . startfile方法(打开指定浏览器) import os os.startfile("C:\Program Files\internet exp ...
- css fixed 失效问题解法
https://stackoverflow.com/questions/11258877/fixed-element-disappears-in-chrome 开启css硬件加速,transform: ...
- 除非你是BAT,前端开发中最好少造轮子
站在前人的肩膀上 HTML.CSS.JavaScript是前端的根基,这是无可否认的事实.正如一辆车当然都是由一堆钢板和螺钉组成的,但是现在还有人拎着个锤子敲敲打打的造车吗?李书福说过,“汽车不过是四 ...