一起来玩U3D之场景转换+关卡选择

您所在的位置:网站首页 超级玛丽第5关在哪选关卡 一起来玩U3D之场景转换+关卡选择

一起来玩U3D之场景转换+关卡选择

2023-09-19 02:30| 来源: 网络整理| 查看: 265

场景转换

在游戏中我们经常会有场景转换的使用,比如传送阵等 那么U3D中如何实现场景转换呢? 假设我们现在有两个如下场景: 在这里插入图片描述 那么如何在这两个场景中切换呢? 首先,打开下面的界面 在这里插入图片描述

然后再打开的界面中拖入我们的场景

在这里插入图片描述 最后我们要在两个场景中分别创建一个脚本 注意脚本中首先引入命名空间

using UnityEngine.SceneManagement; public void OnClickLoadScene() { SceneManager.LoadScene("Complete"); }

然后随便绑定一个按钮,就可以跳转到想去的场景了。

关卡选择

最终效果如下面几张图所示: 刚进入关卡界面: 在这里插入图片描述 点击第一关并确定后(直接就开始算分了,得几个星星自己挑):在这里插入图片描述 这边我选2颗星后确定:可以看到,第一关得了2颗星,第二关解锁了 在这里插入图片描述

UI的搭建我就不演示了,直接贴出最终搭建好的UI层次

在这里插入图片描述 在这里插入图片描述 下面对上述UI做出解释: canvas:就是画布 BackGround:整个大背景 windowBG:背景框(无所谓) windowHead:上面的标题(无所谓)

接下来的很重要

levels:一个空对象,里面添加一个grid网格组件用来排列关卡按钮,levels里面我写了10个子对象,就是我们的关卡 level01:按钮 Select:一张图片,注意只在这一个关卡中创建这个,后面的不要(或者你干脆不要,不影响功能,只是为了看着舒服) Text:用来显示关卡编号 stars:星星背景框 star1–star3–star2:三个星星图片 lock:小锁图片 AcceptButton:进入关卡场景按钮

好啦,接下来开始写脚本

首先,我们在levels里面添加一个脚本CheckPointCotroller(选择关卡控制器) 代码如下:

using UnityEngine; using UnityEngine.UI; using UnityEngine.SceneManagement; public class LevelsController : MonoBehaviour { [Header("最高可挑战的关卡")] private int challengingLevel; /// /// 选择框 /// private Transform select; private int currentLevelNum; void Awake() { //找到选择框 select = GameObject.FindWithTag("Select").transform; } void Start() { challengingLevel = Singleton.GetInstance().levelAndStars.Count + 1; InitUI(); } public void InitUI() { //初始化UI for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3