Unity中Button的一些基础用法

Button的功能探究

Interactable(是否可交互)

可交互简单来说所指的是按钮能否被点击,有true和false两种状态

public Button testButton;

private void Start()
{
    //获取脚本挂载的物体身上的Button组建
    testButton = this.gameObject.GetComponent();
    //将可交互性设置为false
    testButton.interactable = false;
}

Transition(按键与用户交互时的过渡)

举一个简单的例子,有一个白色的按钮,当你的鼠标指针划过按钮时,按钮变成了黑色,当你鼠标从按键上移走时,按键便又变回了白色

在2022版本的Unity编辑器中,Transition有四种模式可以被选择,分别是 NoneColor TintSprite SwapAnimation

Unity中Button的一些基础用法

1、None(不使用过渡)

None很好理解,就是不使用过渡,该什么样就什么样

2、Color Tint(颜色着色过渡)

就如名字所指明的,Color Tint模式是通过定义不同行为时的颜色来进行过渡的

2.1 Target Graphic:按钮的背景图片

它通常与Button身上的Image组件绑定,可以把它理解为Button的底纹

2.2 Normal Color:通常的颜色

这个通常的意思是Button既没有被鼠标划过,也没有被点击时的颜色

2.3 Highlight Color:控件突出显示时的颜色

当鼠标划过Button时的颜色

2.4 Pressed Color:控件按下时的颜色

点击控件时控件的颜色

2.5 Disabled Color:控件被禁用时的颜色

2.6 Fade Duration:从一个状态淡入淡出到另一个状态所需的时间(以秒为单位)

3、Sprite Swap(图片交换过渡)

Sprite Swap如果要按照字面意思翻译应该叫做精灵交换,但是我一直不太喜欢把Sprite翻译为精灵

Target Graphic:通常状态使用的图片

Hightlight Sprite:控件突出时显示的图片

Pressed Sprite:控件按下时的图片

Disabled Sprite:控件被禁用时的图片

4、Animation(动画过渡)

Normal Trigger:要使用的正常动画触发器

Highlighted Trigger:控件突出显示时要使用的触发器

Pressed Trigger:控件按下时要使用的触发器

Disabled Trigger:控件禁用时要使用的触发器

代码中Button的一些功能

Note:

  1. 使用这个功能一定要分别继承这些函数需要的接口,否则函数功能无法生效
  2. 一定要引用 UnityEngine.EventSystems名称空间
using UnityEngine.EventSystems;

public class ButtonSoundEffects : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler,IPointerClickHandler {

    // 当鼠标划入Button时会调用这个函数,需要继承接口IPointerExitHandler
    public void OnPointerEnter(PointerEventData eventData) {

    }

    // 当鼠标划出Button时会调用这个函数,需要继承接口IPointerExitHandler
    public void OnPointerExit(PointerEventData eventData) {

    }

    //当鼠标点击时会调用这个函数,需要继承接口IPointerClickHandler
    public void OnPointerClick(PointerEventData eventData) {

    }
}

Original: https://www.cnblogs.com/hellofriland/p/16468590.html
Author: hellofriland
Title: Unity中Button的一些基础用法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582740/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ubuntu下文件压缩/解压缩命令总结

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年8月26日
    0310
  • 文本操作find cut sort wc sed awk

    文本操作 查找文件: # find 大概位置 以名字查找 名字 find /etc/ -name i18n find /etc/ -name 70* find /etc/ -nam…

    Linux 2023年6月11日
    074
  • 《Redis开发与运维》——(七)Redis阻塞(脑图)

    posted @2021-01-09 15:06 雪山上的蒲公英 阅读(90 ) 评论() 编辑 / 返回顶部代码 / Original: https://www.cnblogs….

    Linux 2023年5月28日
    084
  • 插入排序算法C语言实现

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年11月7日
    0197
  • Linux通过手机USB网络共享上网

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年11月7日
    0229
  • Redis 内存压缩原理

    Redis 无疑是一个大量消耗内存的数据库,因此 Redis 引入了一些设计巧妙的数据结构进行内存压缩来减轻负担。ziplist、quicklist 以及 intset 是其中最常…

    Linux 2023年5月28日
    072
  • 【MQTT】使用MQTT.fx上报温度到腾讯云

    打开 腾讯云官网, 注册并登录. 2.登录之后点击右上角的控制台点进去 3.在搜索框[物联网通信],点击进入 4.点击创建新产品 5.选择普通产品,名称随便,选择密钥认证,选择js…

    Linux 2023年6月13日
    076
  • Django中自定义管理器Manager用法

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年11月8日
    0180
  • ASP.NET Web API实现POST报文的构造与推送

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年11月7日
    0219
  • Ubuntu下交换Alt和Ctrl (适用于任何按键修改)

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年9月10日
    0232
  • SharePoint 2010开发工具图解系列:PowerShell脚本

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年9月14日
    0218
  • docker 安装redis

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年9月14日
    0205
  • 18-网络七层架构

    七层架构主要包括 ①、 物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由 1、0 转化为电流强弱来进行传输…

    Linux 2023年6月7日
    0110
  • OpenStack cinder对接glusterfs存储

    一、创建虚拟机node1 自定义默认下一步稍后安装操作系统选择Linux,红帽6名称位置随意1核就行2G内存就行仅主机网络默认下一步默认下一步默认下一步30G,给单个文件添加一块5…

    Linux 2023年6月8日
    065
  • [转]linux 调用动态库so文件

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年8月20日
    0271
  • git笔记-9-29

    注入产生的原理: 数据库设置为GBK编码: 宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而…

    Linux 2022年8月30日
    0277
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球