unity按钮绑定与场景切换

简介: unity按钮绑定与场景切换

新建画布canvas,创建Button子对象,在scene调整合适位置

Button有一个On Click()事件,我们可以用来绑定脚本的函数;

这里我对对布尔变量操作,非false则true实现开关的功能

创建一个名为UI的C#脚本打开编辑,public的函数才能在挂载的时候调用

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class UI : MonoBehaviour
{
    public int scene1, scene2, scene3, scene4, scene6, scene7,scene8, sceneUI;//场景编号对应
    private bool flag1=false, flag2=false, flag3=false, flag4=false, flag5=false,flag6=false,flag7=false,flag8=false,flag00=false;
    void Start()
    {
    }
    public void Button00()
    {
        flag00 = !flag00;
    }
    public void Button1()
    {
        flag1 = !flag1;
    }
    public void Button2()
    {
        flag2 = !flag2;
    }
    public void Button3()
    {
        flag3 = !flag3;
    }
    public void Button4()
    {
        flag4 = !flag4;
    }
    public void Button5()
    {
        flag5 = !flag5;
    }
    public void Button6()
    {
        flag6 = !flag6;
    }
    public void Button7()
    {
        flag7 = !flag7;
    }
    public void Button8()
    {
        flag8 = !flag8;
    }
    // Update is called once per frame
    void Update()
    {
        if (flag1)
        {
            SceneManager.LoadScene(scene1);
        }
        if (flag2)
        {
            SceneManager.LoadScene(scene2);
        }
        if (flag3)
        {
            SceneManager.LoadScene(scene3);
        }
        if (flag4)
        {
            SceneManager.LoadScene(scene4);
        }
        if (flag5)
        {
            Application.OpenURL("https://github.com/yongma16/yma");//跳转github仓库
        }
        if (flag6)
        {
            SceneManager.LoadScene(scene6);
        }
        if (flag7)
        {
            SceneManager.LoadScene(scene7);
        }
        if (flag8)
        {
            SceneManager.LoadScene(scene8);
        }
        if (flag00)
        {
            SceneManager.LoadScene(sceneUI);//跳转场景编号
        }
    }
}

接下来挂载脚本到画布Canvas

最后在Button里面绑定相应函数(我这里的Button已经改名为1234开心)

在On Click()选择画布里的脚本

绑定已经定义的public函数

ok!运行就可以切换场景,问题不大。

目录
相关文章
|
1月前
|
图形学
初识Unity——基本模型、场景操作、世界坐标系和局部坐标系
初识Unity——基本模型、场景操作、世界坐标系和局部坐标系
23 1
|
19天前
|
定位技术 图形学 开发者
【Unity实战】切换场景加载进度和如何在后台异步加载具有庞大世界的游戏场景,实现无缝衔接(附项目源码)
【Unity实战】切换场景加载进度和如何在后台异步加载具有庞大世界的游戏场景,实现无缝衔接(附项目源码)
15 0
|
1月前
|
JavaScript 前端开发 C#
初识Unity——创建代码、场景以及五个常用面板(创建C#代码、打开代码文件、场景的创建、Project、Hierarchy、Inspector、Scene、Game )
初识Unity——创建代码、场景以及五个常用面板(创建C#代码、打开代码文件、场景的创建、Project、Hierarchy、Inspector、Scene、Game )
28 0
|
7月前
|
图形学
Unity重置场景
Unity重置场景
|
10月前
|
编解码 监控 vr&ar
Unity3D下如何采集camera场景数据并推送RTMP服务?
Unity3D是非常流行的游戏开发引擎,可以创建各种类型的3D和2D游戏或其他互动应用程序。常见使用场景如下:
105 1
|
10月前
|
数据采集 vr&ar 图形学
Windows平台Unity Camera场景实现轻量级RTSP服务和RTMP推送
随着VR技术在医疗、军事、农业、学校、景区、消防、公共安全、研学机构、展厅展馆,商场等场所普及,开发者对Unity平台下的直播体验提出了更高的要求。
|
API 图形学
【2023unity游戏制作-mango的冒险】-1.场景搭建
【2023unity游戏制作-mango的冒险】-1.场景搭建
82 0
|
存储 API 图形学
|
图形学 索引
实现场景切换的时候淡入淡出的效果(Unity3D)
在游戏中不可避免的要进行场景切换,如果切换的场景要加载的资源太多太大,那么就要耗时很长时间,这对于用户的体验来说很不舒服,也就是常说的游戏卡了。怎么解决这种尴尬呢。比较推荐的就是异步加载场景,然后中间加一个过渡场景,过渡场景做的美观一些,然后加一个进度条,看起来就不会那么尴尬了。然后在场景过渡的时候,加一个淡入淡出的效果,就很nice了今天就实现一个场景切换的时候淡入淡出的效果。剩下的场景异步加载还有中间过渡场景有时间再写。