• Unity UGUI的Button组件的介绍及使用


    UGUI的Button(按钮)组件的介绍及使用

    1. 什么是UGUI的Button组件?

    UGUI(Unity GUI)是Unity引擎中的一套用户界面系统,Button(按钮)是其中的一个常用组件。Button组件可以用于创建可交互的按钮,用户点击按钮时可以触发相应的事件。

    2. Button组件工的作原理

    Button组件通过检测用户的点击事件来触发相应的操作。当用户点击按钮时,Button组件会检测到点击事件,并执行相应的操作,如比调用指定的函数或改变按钮的状态。

    3. Button组件的常用属性

    • Interactable(可交互):设置按钮是否可交互。如果设置为false,按钮将无法被点击。
    • Transition(过渡效果):设置按钮的过渡效果,包括颜色、缩放、透明度等。
    • Normal Color(正常状态颜色):设置按钮在正常状态下的颜色。
    • Highlighted Color高(亮状态颜色):设置按钮在高亮状态下的颜色。
    • Pressed Color(按下状态颜色):设置按钮在按下状态下的颜色。
    • Disabled Color(禁用状态颜色):设置按钮在禁用状态下的颜色。

    4. Button组件的常用函数

    • onClick.AddListener():为按钮添加点击事件的监听器。
    • onClick.Remove()Listener:移除按钮的点击事件监听器。
    • onClick.Invoke():手动触发按钮的点击事件。

    5. 示例代码

    示例1:创建一个简单的按钮

    using UnityEngine;
    using UnityEngine.UI;
    
    public class ButtonExample : MonoBehaviour
    {
        public Button button;
    
        void Start()
        {
            button.onClick.AddListener(OnClick);
        }
    
        void OnClick()
        {
            Debug.Log("Button clicked!");
        }
    }
    

    操作步骤:

    1. 创建一个空物体,并将脚本ButtonExample挂载到该物体上。
    2. 在场景中创建一个按钮,并将该按钮的引用赋值给button变量。
    3. 运行游戏,点击按钮,控制台将输出"Button clicked!"。

    注意事项:

    • 确保按钮的OnClick事件已经绑定到ButtonExample脚本的OnClick函数。

    示例2:改变按钮的颜色

    using UnityEngine;
    using UnityEngine.UI;
    
    public class ButtonExample : MonoBehaviour
    {
        public Button button;
    
        void Start()
        {
            button.onClick.AddListener(OnClick);
     }
    
           void OnClick()
        {
            button.image.color = Color.red;
        }
    }
    

    操作步骤:

    1. 创建一个空物体,并将脚本ButtonExample挂载到该体物上。
    2. 在场景中创建一个按钮,并将该按钮的引用赋值给button变量。
    3. 运行游戏,点击按钮,按钮的颜色将变为红色。

    注意事项:

    • 确保按钮的OnClick事件已经绑定到ButtonExample脚本的OnClick函数。

    示例3:禁用按钮

    using UnityEngine;
    using UnityEngine.UI;
    
    public class ButtonExample : MonoBehaviour
    {
        public Button button;
    
        void Start()
        {
            button.onClick.AddListener(OnClick);
        }
    
        void OnClick()
        {
            button.interactable = false;
        }
    }
    

    操作步骤:

    1. 创建一个空物体,并将脚本ButtonExample挂载到该物体上。
    2. 在场景中创建一个按钮,并将该按钮的引用赋值给button变量。
    3. 运行游戏,点击按钮,按钮将变为不可交互状态。

    注意事项:

    • 确保按钮的OnClick事件已经绑定到ButtonExample脚本的OnClick函数。

    示例4:移除按钮的点击事件监听器

    using UnityEngine;
    using UnityEngine.UI;
    
    public class ButtonExample : MonoBehaviour
    {
        public Button button;
    
        void Start()
        {
            button.onClick.AddListener(OnClick);
        }
    
        void OnClick()
        {
            button.onClick.RemoveListener(OnClick);
        }
    }
    

    操作步骤:
    1.空一个 创建物体,并将脚本ButtonExample挂载到该物体上。
    2. 在场景中创建一个按钮,并将该按钮的引用赋值给button变量。
    3. 运行游戏,点击按钮,按钮的点击事件监听器将被移除。

    注意事项:

    • 确保按钮的OnClick事件已经绑定到ButtonExample脚本的OnClick函数。

    示例5:手动触发按钮的点击事件

    using UnityEngine;
    using UnityEngine.UI;
    
    public class ButtonExample : MonoBehaviour
    {
        public Button button;
    
        void Start()
        {
            button.onClick.AddListener(OnClick);
        }
    
        void Update()
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                button.onClick.Invoke();
            }
        }
    
        void OnClick()
        {
            Debug.Log("Button clicked!");
        }
    }
    

    操作步骤:

    1. 创建一个空物体,并将脚本ButtonExample挂载到该物体上。
    2. 在场景中创建一个按钮,并将该按钮的引用赋值给button变量。
    3. 运行游戏,按空下格键,控制台将输出"Button clicked!"。

    注意事项:

    • 确保按钮的OnClick事件已经绑定到ButtonExample脚本的OnClick函数。

    参考资料

  • 相关阅读:
    unity 相机围绕物体旋转,并且有Y轴角度限制
    2022就业季|Spring认证教你,如何使用 Spring 构建 REST 服务(二)
    SSD写放大的优化策略要统一标准了吗?
    图的邻接矩阵存储及遍历操作
    java毕业设计——基于java+J2EE+sqlserver的在线考试系统设计与实现(毕业论文+程序源码)——在线考试系统
    【Linux】开发工具之gdb调试器
    Intel平台,13600KF+3060Ti,虚拟机安装macOS 14(2024年6月)
    词法分析,语法分析,语义分析
    从迷之自信到逻辑自信(简版)
    工程制图直线投影练习
  • 原文地址:https://www.cnblogs.com/alianblank/p/17645184.html