【Unity使用UGUI实现王者荣耀UI界面(二)】加载页面-静音按钮和页面完善

简介: 【Unity使用UGUI实现王者荣耀UI界面(二)】加载页面-静音按钮和页面完善

image.png

效果展示

文章目录


【Unity使用UGUI实现王者荣耀UI界面(二)】加载页面-静音按钮和页面完善

通过Toggle组件实现点击按钮关闭游戏音效的功能,以及Image组件完善加载页面


1. 打开项目

打开我们的Unity Hub,找到你创建的王者荣耀UI界面项目,点击打开

然后静静等待

【这部分最后一次写】


2. Toggle实现打开关闭音效的功能

Toggle组件是开关组件,用于控制某种功能的开关

当然,在此之前,我甚至还去网上找了一个音效当背景音乐

链接:https://pan.baidu.com/s/1N7k4bPP7GkroSjFF4Sobyg

提取码:inln

当然,你也可以自己去找。效果是一样的


2.1 Toggle组件演示

  • 右键UI->Toggle,创建一个开关
  • 选中它
  • 按R调整大小,将x,y调整成5/5
  • 如图所示
    image.png
  • 然后给它添加一个脚本,命名为test.cs
  • 编写代码:
using UnityEngine;
using UnityEngine.UI;
public class test : MonoBehaviour
{
    private Toggle testToggle;  // 开关组件
    // Start is called before the first frame update
    void Start()
    {
        testToggle = gameObject.GetComponent<Toggle>();  // 获取开关组件
        testToggle.onValueChanged.AddListener((isOn)=>
        {
            // isOn是开关的逻辑,bool类型
            if (isOn)
            {
                Debug.Log("开关开了");
            }
            else
            {
                Debug.Log("开关关了");
            }
        });
    }
    // Update is called once per frame
    void Update()
    {
    }
}

效果展示:

需要注意一下,我这是先新建了一个项目,然后再演示的

11.gif

好了,你已经大致了解了Toggle组件


2.2 使用Toggle组件实现功能

返回我们原来的项目

在我们的canvas上面创建一个Toggle,重命名为closeAudio

然后看这个

image.png

  • 把Background的img组件设置为我们素材里面的那个audio添加上
  • 还有那个Checkmark,也设置为audio图片
  • 然后在closeAudio下面创建一个AudioS core
    image.png
  • 然后在将背景音乐加进去
    image.png


2.3 编写脚本

在Scripts里面创建一个名字为AudioToggle的脚本,编写代码

using UnityEngine;
using UnityEngine.UI;
public class AudioToggle : MonoBehaviour
{
    private GameObject bgAudio;
    private Toggle bgAudioToggle;
    // Start is called before the first frame update
    void Start()
    {
        bgAudio = transform.Find("bgAudio").gameObject;
    }
    // Update is called once per frame
    void Update()
    {
        bgAudioToggle = gameObject.GetComponent<Toggle>();
        bgAudioToggle.onValueChanged.AddListener(closeAudio);
    }
    /// <summary>
    /// 这个和上面的效果是一样的,区别就是,上面的可以添加参数
    /// 虽然这个也有参数,但是这个参数是开关的类型
    /// </summary>
    /// <param name="isOn"></param>
    void closeAudio(bool isOn)
    {
        if (bgAudioToggle.isOn)
        {
            bgAudio.SetActive(true);
        }
        else
        {
            bgAudio.SetActive(false);
        }
    }
}


2.4 挂载脚本

在工程(project)面板找到这个脚本,选中Toggle组件,拖到最下面的Add comment上面

【搞好不要忘记Ctrl + C保存一下】


2.5 设置锚点

将toggle的锚点设置为右上

image.png


2.6 测试功能

点击倒三角,开始运行,测试一下看看效果

在文章首页可以看到


3. 右上角显示

直接一个img组件完事

UI->Image

选中我们的app图片

image.png

然后设置锚点为左上

image.png


结语

欢迎喜爱Python,Unity(游戏开发引擎)的爱好者,让我们一步步走向大神,成功离得不远,也就两个字,坚持罢了!!

Unity游戏引擎宣言:

你是否热爱游戏呢?

你是否曾经幻想着有一天自己做出一款属于自己的游戏呢?

不要犹豫了,赶快学习吧!


目录
相关文章
|
10天前
|
图形学
unity判断鼠标在不在UI上
在 Unity 中,判断鼠标是否在 UI 上主要依赖事件系统和射线检测机制。Unity 的事件系统负责处理输入事件,GraphicRaycaster 组件用于检测射线与 UI 元素的相交情况。通过 `EventSystem.current.IsPointerOverGameObject()` 方法可轻松判断鼠标是否在 UI 上。对于移动端,使用 `EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)` 来判断触摸是否在 UI 上。代码实现简单且高效。
|
10天前
|
前端开发 图形学
unity UGUI跟随3D物体的坐标转换
在 Unity 中实现 UGUI 元素跟随 3D 物体,关键是将 3D 物体的世界坐标转换为屏幕或画布坐标。通过 Camera.WorldToScreenPoint 方法,可将 3D 物体位置映射到屏幕上,再更新 UGUI 元素的位置。代码示例展示了如何使用该方法,使 UGUI 图像跟随 3D 模型,并提供文字显示、图像和线条的显示/隐藏功能。
|
10天前
|
图形学
Unity 获取鼠标位置下的UGUI或3D物体
本文总结了两种检测方法,分别用于UGUI和3D物体的检测。第一种方法`GetOverUIobj`专门用于检测鼠标悬停的UGUI元素,通过`GraphicRaycaster`实现。第二种方法`GetOverWordGameObject`则同时适用于UI和3D物体检测,利用`PhysicsRaycaster`进行射线检测。两者均返回悬停对象或null。
|
10天前
|
图形学
Unity UGUI拖拽移动
本文介绍了两种UI拖拽实现方式:精准拖拽和克隆拖拽。精准拖拽通过计算鼠标点击点与UI中心的偏移量,使UI跟随鼠标移动,适用于需要精确控制的场景。代码中通过`IBeginDragHandler`、`IDragHandler`和`IEndDragHandler`接口实现拖拽逻辑。克隆拖拽则在拖拽时克隆一个UI对象,使其跟随鼠标移动,适合视觉效果需求较高的场景。代码中同样使用上述接口,并在拖拽结束时销毁克隆对象。具体实现可参考提供的代码示例。
|
11天前
|
图形学
Unity UGUI实现鼠标拖动图片
在 Unity UGUI 中实现鼠标拖动图片功能,主要涉及事件检测、坐标转换和物体位置更新。根据鼠标移动量更新图片位置。代码示例展示了如何通过这些步骤实现拖动效果。
|
11天前
|
图形学
unity一个按钮实现开和关
在 Unity 中,通过一个布尔变量 `count` 来记录按钮的状态(开/关),并在点击事件中根据该变量的值执行不同操作。代码示例展示了两种方法:一种是通过计数器的奇偶性判断状态,另一种是直接取反布尔变量。每次点击后更新状态变量,从而实现按钮的开/关切换。
|
2月前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
1432 1
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
3月前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
197 8
|
5月前
|
测试技术 C# 图形学
掌握Unity调试与测试的终极指南:从内置调试工具到自动化测试框架,全方位保障游戏品质不踩坑,打造流畅游戏体验的必备技能大揭秘!
【9月更文挑战第1天】在开发游戏时,Unity 引擎让创意变为现实。但软件开发中难免遇到 Bug,若不解决,将严重影响用户体验。调试与测试成为确保游戏质量的最后一道防线。本文介绍如何利用 Unity 的调试工具高效排查问题,并通过 Profiler 分析性能瓶颈。此外,Unity Test Framework 支持自动化测试,提高开发效率。结合单元测试与集成测试,确保游戏逻辑正确无误。对于在线游戏,还需进行压力测试以验证服务器稳定性。总之,调试与测试贯穿游戏开发全流程,确保最终作品既好玩又稳定。
275 4
|
5月前
|
前端开发 图形学 开发者
【独家揭秘】那些让你的游戏瞬间鲜活起来的Unity UI动画技巧:从零开始打造动态按钮,提升玩家交互体验的绝招大公开!
【9月更文挑战第1天】在游戏开发领域,Unity 是最受欢迎的游戏引擎之一,其强大的跨平台发布能力和丰富的功能集让开发者能够迅速打造出高质量的游戏。优秀的 UI 设计对于游戏至关重要,尤其是在手游市场,出色的 UI 能给玩家留下深刻的第一印象。Unity 的 UGUI 系统提供了一整套解决方案,包括 Canvas、Image 和 Button 等组件,支持添加各种动画效果。
306 3

热门文章

最新文章