一起来玩U3D之场景转换+关卡选择 |
您所在的位置:网站首页 › 超级玛丽第5关在哪选关卡 › 一起来玩U3D之场景转换+关卡选择 |
场景转换
在游戏中我们经常会有场景转换的使用,比如传送阵等 那么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 |