UG3L3——Button 按钮
UG3L3——Button 按钮
Button
Button
是按钮组件
是UGUI中用于处理玩家按钮相关交互的关键组件
默认创建的 Button
由2个对象组成
- 父对象 ——
Button
组件依附于父对象 同时挂载了一个Image
组件 作为按钮背景图 - 子对象 —— 按钮文本(可选)
本章代码关键字
1 | Button //按钮类 |
Button 参数相关
-
Interactable:是否接受输入
-
Transition:响应用户输入的过渡效果
-
None:没有状态变化效果
-
ColorTint:用颜色表示不同状态的变化
- TargetGraphic:控制的目标图形
- Normal Color:正常状态颜色
- Highlighted Color:鼠标进入时显示高亮颜色
- Pressed Color:按下颜色
- Selected Color:选中的颜色
- Disabled Color:禁用时的颜色
- Color Multiplier:颜色倍增器,过渡颜色乘以该值
- FadeDuration:衰减持续时间,
从一个状态进入另一个状态时需要的时间
-
Sprite Swap:用图片表示不同状态的变化
- Highlighted Sprite:鼠标进入时图片
- Pressed Sprite:按下时图片
- Selected Color:选中时的颜色
- Disabled Sprite:禁用时显示的图片
-
Animation:用动画表示不同状态的变化
需要一些Animation和Animator的知识
- Normal Trigger:正常动画触发器
- Highlighted Trigger:鼠标进入状态时触发器
- Pressed Trigger:按下时触发器
- Selected Trigger:选中时触发器
- Disabled Trigger:禁用时触发器
-
-
Navigation:导航模式,可以设置UI元素如何在播放模式中控制导航
- None:无键盘导航
- Horizontal:水平导航
- Verticval:垂直导航
- Automatic:自动导航
- Explicit:指定周边控件进行导航
-
Visualize:可以在场景窗口看到导航连线
-
OnClick():单击(按下再抬起)执行的函数列表
代码控制 Button
Button界面上显示的内容都可以得到并控制
1 | Button btn = this.GetComponent<Button>(); |
若要修改Button的贴图,直接获取该按钮对象上的Image即可
1 | Image img = this.GetComponent<Image>(); |
监听点击事件的两种方式
-
拖脚本
首先在脚本内写好公共函数(非公共函数无法调用)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15using UnityEngine;
using UnityEngine.UI;
public class Lesson10 : MonoBehaviour
{
public void ClickBtn()
{
print("按钮点击");
}
private void ClickBtn2()
{
print("按钮点击2");
}
}然后在OnClick()列表内添加函数(按[+]),拖入Button对象,选择挂载在Button对象上的脚本中的函数
如果有多个函数要调用,重复上述步骤即可
-
代码添加
向Button内的onClick内使用方法来添加函数,移除函数,函数不限公共还是私有
-
向OnClick添加函数
1
2
3
4
5btn.onClick.AddListener(ClickBtn2);
btn.onClick.AddListener(() =>
{
print("123123123");
}); -
向OnClick移除函数
匿名函数不能通过这个方法移除,因为没有装载该函数的变量
1
btn.onClick.RemoveListener(ClickBtn2);
-
向OnClick移除所有函数
1
btn.onClick.RemoveAllListeners();
-
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!