IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> UGUI-- Button 按钮组件 -> 正文阅读

[游戏开发]UGUI-- Button 按钮组件

1、Button是什么

按钮组件,是UGUI中用于处理玩家按钮相关交互的关键组件

默认创建的Button由2个对象组成:

父对象——Button组件依附对象,同时挂载了一个Image组件,作为按钮背景图

子对象——按钮文本(可选)

2、Button参数

(1)Interactable:是否接受输入(按钮是否可以点击响应)

(2)Transition:响应用户输入的过渡效果

None:没有状态变化效果

ColorTint:用颜色表示不同状态的变化

TargetGraphic控制的目标图形
Normal Color正常状态的颜色
Highlighted Color鼠标进入时显示高亮颜色
Pressed Color按下时的颜色
Selected Color选中的颜色(点击一次后表示被选中)
Disabled Color禁用时的颜色(Interactable未被勾选时)
Color Multiplier颜色倍增器,过渡颜色乘以该值
FadeDuration衰减持续事件,从一个状态进入另一个状态所需要的时间

Sprite Swap:用图片表示不同状态的变化

通过 Auto Generate Animatio可以自动生成相关的动画状态控制器Controller,相关的触发器已经自动创建好了 ,只需要制作按钮上的动画即可

Highlighted Sprite选中时图片
Pressed Sprite按下的图片
Disabled Sprite禁用时显示的图片

Animation:用动画表示不同状态的变化

Normal Trigger正常动画触发器
Highlighted Trigger鼠标进入状态时触发器
Pressed Trigger按下时触发器
Seleted Trigger选中时触发器
Disabled Trigger禁用时触发器

(3)Navigation:导航模式,可以设置UI元素如何在播放模式中控制器导航(通过方向键控制被选中的按钮)

None无键盘导航
Horizontal水平导航
Vertical垂直导航
Automatic自动导航
Explicit

指定周边控件进行导航

(手动设置按钮的关联按键)

Visualize:可以在场景窗口看到导航连线

(4)OnClick:单击(按下再抬起)执行的函数列表

3、代码控制

Button btn = this.GetComponent<Button>();
btn.interactable = true;
btn.transition = Selectable.Transition.None;
Image img = this.GetComponent<Image>();

4、监听点击事件的两种方式

点击事件是:在按钮区域内部抬起按下一次,就算一次点击(在按钮内部按下,按钮外部抬起,不算点击

(1)拖脚本

Onclick下点击”+“,将相关button对象拖入进行关联,然后选择该button对象依附脚本的响应函数(只能显示Public 修饰的函数)(只能显示Public 修饰的函数

(2)代码添加

Button btn = this.GetComponent<Button>();
btn.onClick.AddListener(无参无返回的委托函数);

例如:

btn.onClick.AddListener(ClickBtn);
private void ClickBtn() {
? ? print("ClickBtn by code");
}

或者

btn.onClick.AddListener(() => {
? ? ? ? ? ? print("onClick by lambda code");
})?

若要移除响应函数:

btn.onClick.RemoveListener(ClickBtn);?
btn.onClick.RemoveAllListeners(); //清除Lambda表达式的响应函数?
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:10:32  更:2022-04-22 19:12:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 21:57:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码