Button和RepeatButton

Button控件

Button控件(按钮控件)用来进行用户的行为判断,例如:确认,取消,退出等。按钮有3中状态:未点击,点击,点击后,在一般情况下,我们只用到未点击和点击这2种情况。

public static bool Button (Rect position, string text);
public static bool Button (Rect position, Texture image);
public static bool Button (Rect position, GUIContent content);
public static bool Button (Rect position, string text, GUIStyle style);
public static bool Button (Rect position, Texture image, GUIStyle style);
public static bool Button (Rect position, GUIContent content, GUIStyle style);
  • position : Rect ——按钮在屏幕上的矩形位置,(起点x坐标,起点y坐标,按钮宽度,按钮高度)
  • text : String ——按钮上显示的文本内容
  • image : Texture ——按钮上显示的图片纹理
  • content : GUIContent ——按钮的文本,图片和提示。
  • style : GUIStyle ——按钮使用的样式,如果不使用,则按钮的样式使用的就是当前的GUISkin皮肤

返回值:布尔值——当该按钮被点击时返回true

RepeatButton控件

RepeatButton(连续按钮)用于持续按下时触发事件的按钮,普通的Button按钮适用与单次按下。

参数与普通的Button没什么大的区别。

创建一个按钮,只要用户按住不放,将一直被激活。 从按下按钮到释放按钮的时间内重复触发其Click事件,也就是说他将连续不停的发送点击事件。

using UnityEngine;  
using System.Collections;  

public class Button : MonoBehaviour {  

    public Texture img;//公有变量图片/  
    private Texture img0;  
    private string info;//显示的信息/  
    private int frameTime;//记录按下的时间/  

    void Start()  
    {  
        //初始化/  
        info = "请您点击按钮";  
        frameTime = 0;  
    }  

    void OnGUI()  
    {  
        //标签/  
        GUI.Label(new Rect(50,10,200,20),info);       
        //普通按钮,点击后显示Hello World  
        if(GUI.Button(new Rect(50,250,200,20),"Hello World"))  
        {  
            info = "Hello World";  
        }  
        //标签/  
        GUI.Label(new Rect(280,10,200,200),img0);  
        //图片按钮,点击后显示图片/  
        if(GUI.Button(new Rect(280,250,200,200),img))  
        {  
            img0 = img;  
            info = "您点击了图片按钮";  
        }  
        //标签/  
        GUI.Label(new Rect(500,10,200,20),"持续按下的时间:" + frameTime);  
        //连续按钮,点击后显示按下的时间/  
        if(GUI.RepeatButton(new Rect(500,250,200,20),"持续按下"))  
        {  
            frameTime ++ ;  
            info = "您按下了连续按钮";  
        }         
        //每当鼠标按下时将frameTime重置,一遍进行下次记录/  
        if(Input.GetMouseButtonDown(0))  
        {  
            frameTime = 0;  
        }  
    }  
}

results matching ""

    No results matching ""