来源:
http://blog.csdn.net/qq992817263/article/details/51754381
http://blog.csdn.net/wkhabc/article/details/52389171
----------------------------------------------------------------------
UGUI Button,可以说是真正的使用最广泛、功能最全面、几乎涵盖任何模块无所不用无所不能的组件,掌握了它的灵巧使用,你就几乎掌握了大半个UGUI!
一、Button组件:
Interactable(是否可用):勾选,按钮可用,取消勾选,按钮不可用,并进入Disabled状态。
Transition(过渡方式):按钮在状态改变时自身的过渡方式:
Color Tint(颜色改变)
Sprite Swap(图片切换)
Animation(执行动画)(后面有详细介绍)
Target Graphic(过渡效果作用目标):可以是任一Graphic对象。
Navigation(按钮导航):假如你现在有四个按钮,当你点击第一个时,第一个会保持选中状态,然后通过按键盘方向键,会导航将选中状态切换到下一个按钮上,例如你的第一个按钮下方存在第二个按钮,当你选中第一个按方向键下时,第一个按钮的选中状态取消,第二个按钮进入选中状态,前提是这些按钮都开启了导航功能。
None(关闭):关闭导航。
Automatic(自动导航):自动识别并导航到下一个控件。
Horizontal(水平导航):水平方向导航到下一个控件。
Vertical(垂直导航):垂直方向导航到下一个控件。
Explicit(指定导航):特别指定在按下特定方向键时从此按钮导航到哪一个控件。
Color Tint(颜色改变过渡模式):
Normal Color(默认颜色):初始状态的颜色。
Highlighted Color(高亮颜色):选中状态或是鼠标靠近会进入高亮状态。
Pressed Color(按下颜色):鼠标点击或是按钮处于选中状态时按下enter键。
Disabled Color(禁用颜色):禁用时颜色。
Color Multiplier(颜色切换系数):颜色切换速度,越大则颜色在几种状态间变化速度越快。
Fade Duration(衰落延时):颜色变化的延时时间,越大则变化越不明显。
Sprite Swap(图片切换过渡模式):
Highlighted Sprite(高亮图片):选中状态或是鼠标靠近会进入高亮状态。
Pressed Sprite(按下图片):鼠标点击或是按钮处于选中状态时按下enter键。
Disabled Sprite(禁用图片):禁用时图片。
Animation(播放动画过渡模式):
Normal Trigger(默认触发器):默认状态触发。
Highlighted Trigger(高亮触发器):选中状态或是鼠标靠近会进入高亮状态。
Pressed Trigger(按下触发器):鼠标点击或是按钮处于选中状态时按下enter键。
Disabled Trigger(禁用触发器):禁用时触发。
Auto Generate Animatior(自动生成动画控制器):
点击此按钮,会自动生成一个包含了以上四种状态以及四种动画的animatior,然后选中此按钮,ctrl+6进入动画编辑界面,分别对以上四种动画进行调动就可以了。
OnClick():按钮点击事件触发集合。
二、使用中的技巧:
《功能1:动态为button添加点击事件》
代码如下:
《功能2:动态为button添加其他(可以是点击以外)事件》
代码如下:
1.Interactable:是否支持交互(触摸、鼠标、键盘)
2.Transition:Button状态,包括悬浮态(正常态)、高亮态、鼠标按下和鼠标被禁用的状态
—三种模式:Color Tine,通过颜色来使Button呈现不同颜色;sprite swap通过图片切换呈现不同状态;animation,通过动画不同来展示不同状态。
—Color Tine
—Target Graphics,目标图像,一般是按钮自身。
—不同状态选择不同的颜色来区分。
—Color Multiple:对不同状态颜色的显示系数。
—Fade Duration:过渡时间,即不同状态颜色切换的过渡时间。
—sprite swap
—Target Graphics,目标图像,一般是按钮自身。
—Highlight Sprite、Pressed Sprite、 Disabled Sprite表示高亮、按下和不可用状态不同的Sprite。
—animation
—每个状态对应的动画名需要与动画状态机中的状态名保持一致;
—通过Animation动画窗口可以设定每个动画状态的动画剪辑;
3.Navigation:就是如何通过键盘、手柄来切换Button的焦点,使其进入下一个Button
—包括四种选项:水平、垂直、自动或者显性的按钮快捷键。
4.OnClick:就是鼠标被点击时触发的事件
—直接通过Aspector窗口设定鼠标被点击事的事件。
—通过脚本控制。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;//导入UI包
public class ButtonController : MonoBehaviour {
// Use this for initialization
void Awake () {
Button button=gameObject.GetComponent