2019-07-21 14:08:53 qq_39588003 阅读数 33

Unity3D Label 控件用于在屏幕上显示文本内容或图片。

GUI.Lable(位置, 标签显示内容);

例如:

GUI.Lable(new Rect(10,20,100,40), "我是标签");

将添加一个显示“我是标签”的标签,位置在界面的Rect(10,20,100,40)位置。

    Rect()位置图解:

    Rect(x, y, width, height)

标签示例:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lable : MonoBehaviour {

    public string str;

    public Texture imageTexture = null;

    private int imageWidth;

    private int imageHeight; 
 
    private int screenWidth;
 
    private int screenHeight;

	// Use this for initialization
	void Start () {
        str = "HelloWorld!";

 
        //得到屏幕宽高
        screenWidth = Screen.width;
        screenHeight = Screen.height;
 
        //得到图片宽高
        imageWidth = imageTexture.width;
        imageHeight = imageTexture.height;
	}
	
	// Update is called once per frame
	void Update () {
		
	}

    void OnGUI() { 
     GUI.Label(new Rect(100, 10, 100, 30), str);
     GUI.Label(new Rect(100, 40, 100, 30), "当前屏幕宽:" + screenWidth);
     GUI.Label(new Rect(100, 80, 100, 30), "当前屏幕高:" + screenHeight);
     GUI.Label(new Rect(250, 40, 100, 30), "当前图片宽:" + imageWidth);
     GUI.Label(new Rect(250, 80, 100, 30), "当前图片高:" + imageHeight);

     GUI.Label(new Rect(100, 120, imageWidth, imageHeight), imageTexture);
    }
}

运行结果:

函数原型(JavaScript)如下:

public static function Label(position:Rect, text:string):void;
public static function Label(position:Rect, image:Texture):void;
public static function Label(position:Rect, content:GUIContent):void;
public static function Label(position:Rect, text:string, style:GUIStyle):void;
public static function Label(position:Rect, image:Texture, style:GUIStyle):void;
public static function Label(position:Rect, content:GUIContent, style:GUIStyle):void;

 

Label控件的具体参数如下表所示。
 

参 数 功 能 参 数 功 能
position 设置控件在屏幕上的位置及大小 text 设置控件上显示的文本
image 设置控件上显示的纹理图片 content 设置控件的文本、图片和提示
style 设置控件使用的样式    
2019-07-25 08:16:28 qq_39588003 阅读数 232

Slider 控件包括两种,分别是水平滚动条 GUI.HorizontalSlider 和垂直滚动条 GUI.VerticalSlider

具体使用方法如下:

 

GUI.HorizontalSlider(位置, 当前值, 起始值, 终点的值);        //水平滚动条

GUI.VerticalSlider(位置, 当前值, 起始值, 终点的值);        //垂直滚动条

  • 当前值:拖动滑块的位置
  • 起始值:左(下)端的值
  • 终点值:右(上)端的值

 

如:添加两个滚动条,水平和垂直滚动条。起始位置的值都设置为0, 末尾设置为10,当前值,设置为返回的一个变量,并把这个变量的值用标签显示出来。

float H = 0;
float V = 0;

H = GUI.HorizontalSlider(new Rect(25,25,100,30), H, 0, 10);        //水平滚动条
V = GUI.VerticalSlider (new Rect(50,50,100,30), V, 10, 0);        //垂直滚动条


GUI.Label (new Rect(400,10,100,100),"我是水平滚动条:"+H);
GUI.Label (new Rect(400,110,100,100),"我是垂直滚动条:"+V);

 

函数原型(JavaScript):

  1. public static function HorizontalSlider(position:Rect, value:float, leftValue:float, rightValue:float):float;
  2. public static function HorizontalSlider(position:Rect, value:float, leftValue:float, rightValue:float, slider:GUIStyle, thumb:GUIStyle):float;

position 为滚动条的位置,value 为可拖动滑块的显示位置,topValue 为滑块上端所处的位置,bottomValue 为滑块下端所处位置。

Slider 控件的参数如下表所示。

参 数 功 能 参 数 功 能
position 设置控件在屏幕上的位置及大小 value 设置滑动条显示的值。这决定了可 拖动的滑块的位置
leftValue 设置滑块左端的值 rightValue 设置滑块右端的值
slider 设置用于显示拖曳区域的 GUI 样式 thumb 设置用于显示可拖动的滑块的 GUI 样式
2019-07-25 16:15:14 qq_39588003 阅读数 126

Scroll View控件可以设定一个滚动显示区域。如果GUI控件超出其显示区域,视图下方或者右方将会出现滚动条。比如游戏中帮助信息或关于信息过长,就可以使用滚动条来查看相关信息。

滚动条由两部分组成,一个是 GUI.BeginScrollView,用于开始滚动视图,另一个是 GUI.EndScrollView,用于结束滚动视图。需要滚动显示的内容就夹在其间,具体使用方法示例如下:

using UnityEngine;
using System.Collections;

public class Scrollbar控件 : MonoBehaviour {

	//定义存储滚动条的位置变量 
	Vector2 scrollPosition;


	void start(){
		scrollPosition [0] = 50;        //表示滚动视图水平滚动滑块位置
		scrollPosition [1] = 50;        //表示滚动视图垂直滚动滑块位置
	}


	void OnGUI() {
		//滚动条开始
		scrollPosition = GUI.BeginScrollView(new Rect(0, 0, 200, 200),
		                                     scrollPosition,new Rect(0, 0, Screen.width, Screen.height),true,true);

		//滚动条中的内容
		GUI.Button(new Rect(0, 0, 100, 20), "Top-left");
		GUI.Button(new Rect(120, 0, 100, 20), "Top-right");
		GUI.Button(new Rect(0, 180, 100, 20), "Bottom-left");
		GUI.Button(new Rect(120, 180, 100, 20), "Bottom-right");
		GUI.Label (new Rect(100,40,200,100),"测试滚动视图");

		GUI.EndScrollView();        //结束滚动视图

        //显示滚动条滑块位置
		GUI.Label (new Rect(300,40,100,100),scrollPosition.ToString());    
	}
}

 

注意:GUI.BeginScrollView()方法与GUI.EndScrollView()方法必须成对出现,否则程序会抛出异常

 

函数原型(JavaScript):

  1. public static function BeginScrollView(position:Rect, scrollPosition:Vector2, viewRect:Rect):Vector2;

  2. public static function BeginScrollView(position:Rect, scrollPosition:Vector2, viewRect:Rect, alwaysShowHorizontal:bool, alwaysShowVertical:bool, horizontalScrollbar:GUIStyle, verticalScrollbar:GUIStyle):Vector2;

  3. public static function EndScrollView():void;

其中,position 为显示位置,scrollPosition 用于设置滚动条的起始位置,viewRect 用于设置滚动整体显示范围,EndScrollView 用于结束滚动视图内容。

ScrollView 控件的参数如下表所示。
 

参 数 功 能 参 数 功 能
position 设置控件在屏幕上的位置及 大小 ScrollPosition 用来显示滚动位置
viewRect 设置滚动整体显示范围 alwaysShowHorizontal 可选参数,总是显示水平 滚动条
HorizontalScrollbar 设置用于水平滚动条的可选 GUI 样式 alwaysShow Vertical 可选参数,总是显示垂直 滚动条
VerticalScrollbar 设置用于垂直滚动条的可选 GUI 样式    
2019-07-25 17:00:05 qq_39588003 阅读数 22

一个游戏界面可以由很多窗口组成,在窗口中可以添加任意的功能组件,各式各样的游戏视图,它们都是窗口的子类。

创建窗口需要设定它的显示区域,在窗口中可以添加任何组件,前提是组建的显示区域必须在窗口中,否则无法显示。

窗口中所有控件的坐标均采用相对坐标,相对窗口左上角的坐标。

具体示例如下:

using UnityEngine;
using System.Collections;

public class 窗口 : MonoBehaviour {
	//默认窗口位置
	private Rect window0 = new Rect(20,20,200,200);
	private Rect window1 = new Rect(250,20,200,200);

	void OnGUI() {
		//注册两个窗口
		GUI.Window (0,window0,oneWindow,"第一个窗口");
		GUI.Window (1,window1,twoWindow,"第二个窗口");
	}
	//显示窗口1的内容
	void oneWindow(int windowID)
	{
		GUI.Box (new Rect(10,50,150,50),"这的窗口id为:"+windowID);
		if (GUI.Button (new Rect (10, 120, 150, 50), "普通按钮")) {
			Debug.Log("窗口id = "+windowID+"按钮被点击");
		}
	}
	//显示窗口2的内容
	void twoWindow(int windowID)
	{
		GUI.Box (new Rect(10,50,150,50),"这的窗口id为:"+windowID);
		if (GUI.Button (new Rect (10, 120, 150, 50), "普通按钮")) {
			Debug.Log("窗口id = "+windowID+"按钮被点击");
		}
	}
}

运行显示:

函数原型(JavaScript):

  1. public static function Window(id:int, clientRect:Rect, func:GUI.WindowFunction, text:string):Rect;
  2. public static function Window(id:int, clientRect:Rect, func:GUI.WindowFunction, image:Texture):Rect;
  3. public static function Window(id:int, clientRect:Rect, func:GUI.WindowFunction, content:GUIContent):Rect;
  4. public static function Window(id:int, clientRect:Rect, func:GUI.WindowFunction, text:string, style:GUIStyle):Rect;
  5. public static function Window(id:int, clientRect:Rect, func:GUI.WindowFunction, image:Texture, style:GUIStyle):Rect;
  6. public static function Window(id:int, clientRect:Rect, func:GUI.WindowFunction, title:GUIContent, style:GUIStyle):Rect;

其中,id 为窗口的标号,用以标识窗口,clientRect 为窗口显示区域,func 是回调方法的名称,text 为窗口标题。

Windows 控件的参数如下表所示。
 

参 数 功 能 参 数 功 肯巨
Style 设置用于窗口的可选样式。如果 遗漏了,则使用当前GUISkin的窗 口样式 id 设置窗口的ID号(可以是任何值, 只要它是唯一的)
clientRect 设置屏幕上的矩形表示的窗口位 置和大小 func 设置显示窗口内容的脚本函数
text 设置文本在窗口内呈现 image 设置在窗口中渲染的图像
content 设置在窗口内渲染的图形 style 设置窗口的样式信息
title 设置文本在窗口标题栏显示    
2019-07-23 18:26:45 qq_39588003 阅读数 74

ToolBar工具用于创建工具栏,并且以Tab页面的形式显示,选择其中任意一项后就可返回所选项的ID

工具栏常位于界面顶部或底部。

常用形式:GUI.Toolbar (位置, 索引, 数值/集合)

 

int index = 0;        //创建索引

string[] arr = {"选项一", "选项二", "选项三"};

index = GUI.Toolbar (位置, index, arr);        //返回值为a的值

GUI.Label (位置, "返回值为:"+index.ToString());        //将index(ToolBar控件返回值)的值显示在界面上

创建了一个具有三个选项的工具栏,点击相应的选项,会用标签显示返回的索引数值

 

 

函数原型(JavaScript):

  1. public static function Toolbar(position:Rect, selected:int, texts:string[]):int;
  2. public static function Toolbar(position:Rect, selected:int, images:Texture[]):int;
  3. public static function Toolbar(position:Rect, selected:int, content:GUIContent[]):int;
  4. public static function Toolbar(position:Rect, selected:int, texts:string[],style:GUIStyle):int;
  5. public static function Toolbar(position:Rect, selected:int, images:Texture[],style:GUIStyle):int;
  6. public static function Toolbar(position:Rect, selected:int, contents:GUIContent[], style:GUIStyle):int;

 

ToolBar 控件的参数如下表所示。
 

参 数 功 能 参 数 功 能
position 设置控件在屏幕上的位置及大小 selected 选择按钮的索引
texts 设置在工具栏按钮上显示的一组 字符串 images 在工具栏按钮上显示的一组纹理
contents 在工具栏按钮上显示的一组文本、 图像和工具提示 style 要使用的样式。如果省略,则使用 当前GUISkin的按钮样式

Unity3D button控件

阅读数 103

Unity3D GUI控件

阅读数 439

没有更多推荐了,返回首页