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 ...
随机推荐
- information_schema.COLUMNS
MySQL的information_schema库中有个COLUMNS表,里面记录了mysql所有库中所有表的字段信息,该表信息如下: COLUMNS表的每一条记录都对应了数据库中某个表的某个字段,该 ...
- ajax、json、jsonp
这章分享下ajax.json.jsonp的学习记录,不得不说这真是些令人激动的技术. 推荐文章: https://segmentfault.com/a/1190000012469713 http:// ...
- Vue+DataTables warning:table id=xxxx -Cannot reinitialize DataTable.报错解决方法
问题描述: 使用DataTables来写列表,用vue来渲染数据,有搜索功能,每次点击搜索就会报错,如下图所示. 问题排查: 找了一系列原因,最后发现是我每次请求完数据之后都会添加分页功能,从而导致了 ...
- MySQL如何解决1209错误
1209 - The MySQL server is running with the--read-only option so it cannot execute this sta ...
- Android横竖屏切换生命周期变化
1. AndroidMenifest没有设置configChanged属性. 竖屏启动(横屏启动相同): onCreate -->onStart-->onResume 切换横屏: onPa ...
- 20164319 刘蕴哲 Exp2 后门原理与实践
[后门概念] 后门就是不经过正常认证流程而访问系统的通道. 特指潜伏于操作系统中专门做后门的一个程序,而“坏人”可以连接这个程序远程执行各种指令. (概念和木马有重叠) [学习内容] 使用nc实现wi ...
- handsontable 常用 配置项 笔记
import React, { Component } from 'react'; import HotTable from 'react-handsontable'; import Handsont ...
- Linux下docker报错syntax error:unexpected protocol at end of statement
---恢复内容开始--- [Linux]Shell脚本“syntax error: unexpected end of file”原因及处理 :::https://blog.csdn.net/u013 ...
- 由odoo源不稳定想到的,一个非常简单但是有效的方式解决yum源不稳定的问题,实现无限重试
如题,最近在安装odoo 10, 但是官方源的速度是在是不敢恭维,断断续续的. yum 有没有能够无限重试的参数,于是用python写了个死循环,让它无限重试下去 脚本如下: #! /usr/bin/ ...
- python 常忘代码查询 和autohotkey补括号脚本和一些笔记和面试常见问题
笔试一些注意点: --,23点43 今天做的京东笔试题目: 编程题目一定要先写变量取None的情况.今天就是因为没有写这个边界条件所以程序一直不对.以后要注意!!!!!!!!!!!!!!!!!!!!! ...