当前位置:网站首页>Unity场景跳转及退出
Unity场景跳转及退出
2022-07-06 09:18:00 【SQ刘】
简介:
Unity中实现简单的各个场景跳转,以及实现发布后点击“退出场景”实现界面的关闭操作。
实现效果:
实现步骤:
一、新建场景
在你创建的工程里,添加几个需要实现跳转的场景,这里以4个场景相互跳转为例。4个场景名如下图所示。
上图场景中,可以先创建对应场景名的3D物体,例如,场景Capsule中,就可以创建几个胶囊体Capsule(如下图所示);场景Cube中,就可以创建几个立方体Cube;场景Sphere中,就可以创建几个球体Sphere。具体创建什么场景,根据大家各自项目,以及需要完成跳转的场景来定,我这里只是案例说明。
二、创建跳转按钮
1、如下图所示,创建UI-Button。
2、修改画布Canvas的UI Scale Mode及其分辨率。
3、修改Button名,做到见名知意,防止后面添加其他按钮造成混淆,具体操作如下图所示。
4、Ctrl+D复制4份,分别将其按钮重命名为BtnCube,BtnMain,BtnSphere,BtnTuiChu,并调整它们在画布中的位置,如下图所示。
三、添加代码
1、新建一个名为“Scripts”的文件夹,用来存放所有的C#脚本。
2、全部跳转代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class ChangJingTiaoZhuan : MonoBehaviour
{
public void TiaoZhuanCapsule()
{
SceneManager.LoadScene("Capsule");
}
public void TiaoZhuanCube()
{
SceneManager.LoadScene("Cube");
}
public void TiaoZhuanMain()
{
SceneManager.LoadScene("Main");
}
public void TiaoZhuanSphere()
{
SceneManager.LoadScene("Sphere");
}
public void TuiChuChangJing()
{
//#if UNITY_EDITOR
//UnityEditor.EditorApplication.isPlaying = false;//编辑状态下退出
//#else
Application.Quit();//打包编译后退出
//#endif
}
}
四、添加按钮事件注册
1、将脚本拖到Canvas里,如下图所示。
2、具体操作如下图所示。
3、下面几个按钮响应事件的添加道理同上,注意对应事件不要添加错位即可。
4、全部添加完成后,保存当前场景。
5、鼠标选中Canvas和EventSystem,右击选择复制Copy,如下图所示。
6、鼠标双击进入场景Cube,然后粘贴Paste上一个场景中的Canvas。
7、另外的Main场景和Sphere场景操作步骤同上。
8、点击File,选择Build Settings,将需要实现跳转的场景全部拖进来,如下图所示。
注:这一步一定要有,不然运行后会找不到要跳转的场景!!
9、至此,各个不同场景之间的跳转切换,以及退出场景操作全部完成。
五、工程发布
1、点击File,选择Build Settings,选择Player Settings,修改其部分属性,完成后点击“Build”即可。
2、Build完成后,打开其所在文件夹,双击打开“TiaoZhuan.exe”程序即可运行。
边栏推荐
- Programmers can make mistakes. Basic pointers and arrays of C language
- STM32 how to locate the code segment that causes hard fault
- .elf .map .list .hex文件
- History object
- [Clickhouse kernel principle graphic explanation] about the collaborative work of partitioning, indexing, marking and compressed data
- Single chip Bluetooth wireless burning
- Problèmes avec MySQL time, fuseau horaire, remplissage automatique 0
- Amba, ahb, APB, Axi Understanding
- Types de variables JS et transformations de type communes
- Mysqldump error1066 error solution
猜你喜欢
[golang] leetcode intermediate - fill in the next right node pointer of each node & the k-smallest element in the binary search tree
Working principle of genius telephone watch Z3
Types de variables JS et transformations de type communes
Basic operations of databases and tables ----- view data tables
Kaggle competition two Sigma connect: rental listing inquiries (xgboost)
Kconfig Kbuild
(五)R语言入门生物信息学——ORF和序列分析
Problèmes avec MySQL time, fuseau horaire, remplissage automatique 0
Kconfig Kbuild
Walk into WPF's drawing Bing Dwen Dwen
随机推荐
Get the position of the nth occurrence of the string
STM32 how to locate the code segment that causes hard fault
[leetcode15] sum of three numbers
数据库课程设计:高校教务管理系统(含代码)
Basic operations of databases and tables ----- view data tables
Minio文件下载问题——inputstream:closed
基於Redis的分布式ID生成器
ARM PC=PC+8 最便于理解的阐述
Arm pc=pc+8 is the most understandable explanation
Pytorch four commonly used optimizer tests
嵌入式启动流程
.elf .map .list .hex文件
关于Gateway中使用@Controller的问题
Single chip Bluetooth wireless burning
VIM command line notes
JS variable types and common type conversions
Gateway fails to route according to the service name, and reports an error service unavailable, status=503
NRF24L01 troubleshooting
Custom view puzzle getcolor r.color The color obtained by colorprimary is incorrect
@The difference between Autowired and @resource