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

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

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

(1)拖脚本

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

(2)代码添加

Button btn = this.GetComponent

例如:

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表达式的响应函数 

你可能感兴趣的:(Unity学习,#,Unity--UI,UGUI,unity)