Unity 3D 腳本教學 (七)

上一篇主題 下一篇主題 向下

Unity 3D 腳本教學 (七)

發表  aaa1218bbb 于 周五 11月 25, 2011 2:15 pm

類方法
◆ static function BeginGroup(GroupName : string) : void

◆ static function BeginLayoutGroup(style : GUIStyle, options : GUILayoutOption[], LayoutType : System.Type) : GUILayoutGroup
描述:普通的輔助函數– 當創建一個佈局組的時候使用這個。它將確保所有的事情都正確的排列。
style : 組選項的風格
option : 使用的佈局選項
LayoutType : 創建的佈局組的類型
◆ static function EndGroup(groupName : string) : void
◆ static function GetAspectRect(aspect : float) : Rect
◆ static function GetAspectRect(aspect : floar, style : GUIStyle) : Rect
◆ static function GetAspectRect(aspect : float, params options : GUILayoutOption[]) : Rect
◆ static function GetAspectRect(aspect : float, style : GUIStyle, params options: GUILayoutOption[]) : Rect
參數
aspect 這個元素的寬高比(寬/高)
style 一個可選的風格。如果指定風格的padding將被添加到返回舉行的尺寸並且這個風格的margin將被用於間距。
options 一個可選的佈局選項的列表,它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由Style定義的設置。參見GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回Rect – 控制的矩形
描述:用一個制定的寬高比獲取一個矩形。
◆ static function GetRect(content : GUIContent, style : GUIStyle, params options : GUILayoutOption[]) : Rect
參數
content 讓出空間所顯示的內容
style用於佈局的GUIStyle
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILAyout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
返回Rect – 一個足夠大的矩形區域用來包含用/style/渲染時的/content/。
描述:獲取一個以特定風格顯示內容的矩形。
◆ static function GetRect(width : float, height : float) : Rect
◆ static function GetRect(width : float, height : float, params options : GUILayoutOption[]) : Rect
◆ static function GetRect(width : float, height : float, style : GUIStyle, params options : GUILayoutOption[]) : Rect
參數
width 你想要的區域的寬度
height 你想要的區域的高​​度
style 用了佈局的可選GUIStyle,如果指定,風格的padding將被添加到尺寸並且它的margin將被用於間距
options 一個可選的佈局選項的列表,它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回Rect – 用於放置控件的矩形
描述:用一個固定的內容區域獲取一個矩形
◆ static function GetRect(minWidth : float, maxWidth : float, minHeight : float, maxHeight : float) : Rect
◆ static function GetRect(minWidth : float, maxWidth : float, minHeight : float, maxHeight : float, style : GUIStyle) : Rect
◆ static function GetRect(minWidth : float, maxWidth : float, minHeight : float, maxHeight : float, params options : GUILayerOption[]) : Rect
◆ static function GetRect(minWidth : float, maxWidth : float, minHeight : float, maxHeight : float, style : GUIStyle, paramas option : GUILayoutOption[]) : Rect
參數
minWidth 傳回區域的最小寬度
maxWidth 傳回區域的最大寬度
minHeight 傳回區域的最小高度
maxHeight 傳回區域的最大寬度
style 一個可選的風格。如果指定,風格的padding將被添加到尺寸並且它的margin將被用於間距
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回Rect – 一個矩形區域在兩個軸上的尺寸介於minWidth和maxWidth之間
描述:從佈局系統獲取一個可擴展的矩形,矩形的尺寸將在min和max值之間。
GUILayout

GUILayout是用於UnityGUI自動佈局的類。
參見:GUI Layout tutoria
類方法
◆ static function BeginArea(screenRect : Rect) : void
◆ static function BeginArea(screenRect : rect, text : string) : void
◆ static function BeginArea(screenRect : Rect, image : Texture) : void
◆ static function BeginArea(screenRect : Rect, content : GUIContent) : void
◆ static function BeginArea(screenRect : Rect, style : GUIStyle) : void
◆ static function BeginArea(screenRect : Rect, text : string, style : GUIStyle) : void
◆ static function BeginArea(screenRect : Rect, image : Texture, style : GUIStyle) : void
◆ static function BeginArea(screenRect : Rect, content : GUIContent, style : GUIStyle) : void
參數
text可選的顯示在該區域中的文本
image 可選的顯示在該區域中的紋理
content 可選的在該區域頂部顯示的文本,圖片和提示
style 使用的風格。如果留空,空的GUIStyle(GUIStyle.none)將被使用,給出一個透明的背景。參見:EndArea
描述:在屏幕的固定區域開始一個GUI空間的GUILayout塊。
默認的,任何使用GUILayout製作的GUI空間都放置在屏幕的左上角。如果你想在任一區域放置一系列自動佈局的控件,使用GUILayout.BeginArea定義一個新的區域​​以便自動佈局系統可以使用它。
function OnGUI()
{
GUILayout.BeginArea(Rect(200, 200, 100, 100));
GUILayout.Button(“Click me”);
GUILayout.Button(“Or me”);
GUILayout.EndArea();
}
在混合GUILayout代碼是這個函數是非常有用的。必須與EndArea調用匹配。 BeginArea / EndArea不能嵌套。
◆ static function BeginHorizo​​ntal(params options : GUILayoutOption[]): void
◆ static function BeginHorizo​​ntal(style : GUIStyle, params options : GUILayoutOption[]): void
參數
style這個風格用於背景圖片和填充值。如果留空,背景是透明的。
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這個設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
描述:開始一個水平控件組。
所有在這個元素內部渲染的空間將被一個接一個的水平放置,改組必須調用EndHorizo​​ntal關閉。

◆ static function BeginScrollView(scrollPosition : Vector2, params options : GUILayoutOption[]) : Vector2
◆ static function BeginScrollView(scrollPosition : Vector2, horizo​​ntalScrollbar : GUIStyle, verticalScrollbar : GUIStyle, params options : GUILayoutOption[]) : Vector2
◆ static function BeginScrollView(scrollPosition : Vector2, alwaysShowHorizo​​ntal : bool, alwaysShowVertical : bool, params options : GUILayoutOption[]) : Vector2
◆ static function BeginScrollView(scrollPosition : Vector2, style : GUIStyle) : Vector2
◆ static function BeginScrollView(scrollPosition : Vector2, alwaysShowHorizo​​ntal : bool, alwaysShowVertical : bool, horizo​​ntalScrollbar : GUIStyle, verticalScrollbar : GUIStyle, params options : GUILayoutOption[]) : Vector2
◆ static function BeginScrollView(scrollPosition : Vector2, alwaysShowHorizo​​ntal : bool, alwaysShowVertical : bool, horizo​​ntalScrollbar : GUIStyle, verticalScrollbar : GUIStyle, background : GUIStyle, params options : GUILayoutOption[]) : Vector2
參數:
scrollPostion 用來顯示的位置
alwaysShowHorizo​​ntal 可選的參數用來總是顯示水平滾動條。如果為假或者留空,它將只在ScrollView中的內容比滾動視寬時顯示。
alwaysShowVertical 可選的參數用來總是顯示垂直滾動條。如果為假或者留空,它將只在ScrollView中的內容比滾動視高時顯示。
horizo​​ntalScrollbar 用於水平滾動條的可選GUIStyle。如果不設置,將使用當前GUISkin的horizo​​ntalScrollbar。
verticalScrollbar 用於垂直滾動條的可選GUIStyle。如果不設置,將使用當前GUISken的verticalScrollbar風格。
返回Vector2 – 修改過的scrollPosition。回傳這個變量,如下的例子:
描述:開始一個自動佈局滾動視。
自動佈局滾動視,將使用任何你放置在它們中的內容並正常顯示出來。如果他不適合,將顯示滾動條,BeginScrollView的調用總是與EndScrollView的調用匹配。
//這個變量對於空間來說就是這個滾動視查看子元素的位置。
var scrollPosition : Vector2;
//顯示在滾動視中的字符串,下面兩個按鈕添加,清除這個字符串。
var longString = “This is a long-ish string”;
function OnGUI()
{
//開始一個滾動視,所有矩形被自動計算。
//它將使用任何可用的空間並確保內容排列正確
//這是小的最後兩參數來強制滾動條出現
scrollPosition = GUILayout.BeginScrollView(scrollPosition, GUILayout.Width(100), GUILayout.Height(100));
//添加一個簡單的標籤到滾動視內部。注意
//滾動條如何與文字換行正確的工作。
GUILayout.Height(longString);
//添加一個按鈕來消除字符串。這個是在滾動區域內部,因此它
//也將被滾動。注意按鈕如何變窄為垂直滾動條留出空間
if(GUILayout.Button(“Clear”)
longString = “”;
//結束我們上面開始的滾動條
GUILayout.EndScrollView();
//現在我們在滾動視外邊添加一個按鈕– 這將顯示在滾動區域的下邊
if(GUILayout.Button(“Add MoreText”))
{
longString += “\nHere is another line.”;
}
◆ static function Box(params option : GUILayoutOption[]) : void
◆ static function Box(style : GUIStyle, params option : GUILayoutOption[]) : void
參數
style 這個風格將用於背景圖片和填充值,如果留空,背景是透明的。
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
描述:開始一個垂直控件組。
所有在這個元素內部渲染的空間將被一個接一個地垂直放置。改組必須調用EndVertical關閉。
◆ static function Box(image : Texture, params option : GUILayoutOption[]) : void
◆ static function Box(text : string, params option : GUILayoutOption[]) : void
◆ static function Box(contend : GUIContent, params option : GUILayoutOption[]) : void
◆ static function Box(image : Texture, style : GUIStyle, params option : GUILayoutOption[]) : void
◆ static function Box(text : string, style : GUIStyle, params option : GUILayoutOption[]) : void
◆ static function Box(contend : GUIContent, style : GUIStyle, params option : GUILayoutOption[]) : void
參數
text 顯示在該box上的文本
image顯示在該box上的Texture
content用於這個box的文本,圖形和提示
style 使用的風格。如果不設置,將使用當前的GUISkin的box風格。
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
描述:製作一個自動佈局box
這將製作一個實心box,如果你想製作一個包含一些內容的box,使用一個子組函數的
風格參數(BeginHorizo​​ntal, BeginVertical, 等等)
◆ static function Button(image : Texture, params options : GUILayoutOption[]) : bool
◆ static function Button(text : string, params options : GUILayoutOption[]) : bool
◆ static function Button(content : GUIContent, params options : GUILayoutOption[]) : bool
◆ static function Button(image : Texture, style : GUIStyle, params options : GUILayoutOption[]) : bool
◆ static function Button(text : string, style : GUIStyle, params options : GUILayoutOption[]) : bool
◆ static function Button(content : GUIContent, style : GUIStyle, params options : GUILayoutOption[]) : bool
參數
text 顯示在該按鈕上的文本
image顯示在該按鈕上的Texture
content用於這個按鈕的文本,圖形和提示。
style 使用的風格。如果不設置,將使用當前的GUISkin的button風格。
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
返回bool – true當用戶單擊按鈕時。
描述:製作一個簡單的按鈕,用戶點擊它們的時候就會有事情發生。
◆ static functioin EndArea() : void
描述:關閉由BeginArea開始的GUILayout塊
◆ static function EndHorizo​​ntal() : void
描述:關閉一個開始於BeginHorizo​​ntal的組
◆ static functioin EndScrollView() : void
描述:結束由BeginScrollView調用開始的滾動視。
◆ static functioin EndVertical() : void
描述:關閉一個開始於BeginVertical的組
◆ static functioin ExpandHeight(expand : bool) : GUILayoutOption
描述:傳遞給一個空間的選項來允許或不允許垂直擴展。
◆ static functioin ExpandWidth(expand : bool) : GUILayoutOption
描述:傳遞給一個空間的選項來允許或不允許水平擴展。
◆ static functioin FlexibleSpace() : void
描述:插入一個靈活的空格元素
靈活的空格用來填充一個佈局中任何遺漏的空間。
◆ static functioin Height(height : float) : GUILayoutOption
描述:傳遞給空間的選項以便給它一個絕對高度。
◆ static functioin Horizo​​ntalScrollbar(value : float, size : float, leftValue : float, rightValue : float, params options : GUILayoutOption[]) : float
◆ static functioin Horizo​​ntalScrollbar(value : float, size : float, leftValue : float, rightValue : float, style : GUIStyle, params options : GUILayoutOption[]) : float
參數
value在min和max之間的位置
size 能看見多大?
leftValue滾動條左端的值
rightValue 滾動條右端的值
style 用於滾動條背景的風格。如果不設置,將使用當前GUISkin的horizo​​ntalScrollbar
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
返回floar – 修改後的值。這可以通過拖動這個滾動條,或者單擊兩端的箭頭來改變。
描述:一個水平滾動條。滾動條可以用來滾動文檔。大多數情況下,你會使用滾動視代替。
找到額外的元素:
在滾動條兩端的按鈕將在當前皮膚中搜索“leftButton”和“rightButton”作為風格,滾動條的滑塊(你拖動的東西)將搜索並使用名為“thumb”的風格。
//這將使用下面的風格名來決定該按鈕的尺寸/位置
//MyScrollbarleftButton - 用於左側按鈕的風格位置
//MyScrollbarrightButton - 用於右側按鈕的風格位置
//MyScrollbarthumb - 用於滑塊的風格名稱
scrollPos = GUILayout.Horizo​​ntalScrollbar(scrollPos, 1, 0, 100, “MyScrollbar”);
◆ static functioin Horizo​​ntalSlider(value : float, leftValue : float, rightValue : float, params options : GUILayoutOption[]) : float
◆ static functioin Horizo​​ntalSlider(value : float, leftValue : float, rightValue : float, slider : GUIStyle, thumb : GUIStyle, params options : GUILayoutOption[]) : float
參數
value滑塊顯示的值。這個決定可拖動滑塊的位置。
leftValue滑桿左端的值。
rightValue 滑桿右邊的值。
slider用於顯示拖動區域的GUIStyle。如果不設置,將使用當前GUISkin的horizo​​ntalSlider。

thumb 用於顯示拖動塊的GUISkin。如果不設置,將使用當前的GUISkin的horizo​​ntalSliderThumb
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回float – 被用戶設置的值。
描述:一個用戶可以拖動的滑桿。可以在min和max之間取一個值。
◆ static function Label(image : Texture, params options : GUILayoutOption[]) : void
◆ static function Label(text : string, params options : GUILayoutOption[]) : void
◆ static function Label(content : GUIContent, params options : GUILayoutOption[]) : void
◆ static function Label(image : Texture, style : GUIStyle, params options : GUILayoutOption[]) : void
◆ static function Label(text : string, style : GUIStyle, params options : GUILayoutOption[]) : void
◆ static function Label(content: GUIContent, style : GUIStyle, params options : GUILayoutOption[]) : void
參數
text 顯示在該標籤上的文本。
image顯示在標籤上的Texture。
content用於這個標籤的文本,圖形和提示。
style 使用的風格。如果不設置。將使用當前GUISkin的label。
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
描述:製作一個自動佈局label
標籤沒有用戶​​交互。不會獲取鼠標點擊並總是以普通風格渲染。如果你想製作一個可視化響應用戶輸出的控件,使用一個Box控件。
◆ static function MaxHeight(maxHeight : float) : GUILayoutOption
描述:傳遞給控件的選項來指定一個最大高度。
◆ static function MaxWidth(maxWidth : float) : GUILayoutOption
描述:傳遞給控件的選項來指定一個最大寬度。
◆ static function MinHeight(minHeight : float) : GUILayoutOption
描述:傳遞給控件的選項來指定一個最小高度。
◆ static function MinWidth(minWidth : float) : GUILayoutOption
描述:傳遞給控件的選項,來指定一個最小寬度
◆ static function PasswordField(password : string, maskChar : char, params options : GUILayoutOption[]) : string
◆ static function PasswordField(password : string, maskChar : char, maxLength : int, params options : GUILayoutOption[]) : string
◆ static function PasswordField(password : string, maskChar : char, style : GUIStyle, params options : GUILayoutOption[]) : string
◆ static function PasswordField(password : string, maskChar : char, maxLength : int, style : GUIStyle, params options : GUILayoutOption[]) : string
參數
password 用於編輯​​的密碼。這個函數返回值應該被賦回這個字符串。如下的例子。
maskChar 用來隱藏密碼的字符。
maxLength 字符串的最大長度。如果不設置,用戶可以一直輸入。
style 使用的風格。如果不設置,將使用當前GUISkin的textField風格。
返回string – 編輯過的密碼。
描述:製作一個用戶可以輸入密碼的文本域。
var passwordToEdit = “My Password”;
function OnGUI()
{// 製作一個密碼與來調整stringToEdit。
passwordToEdit = GUILayout.PasswordField(passwordToEdit, “*”, 25);
}
◆ static function RepeatButton(image : Texture, params options : GUILayoutOption[]) : bool
◆ static function RepeatButton(text : string, params options : GUILayoutOption[]) : bool
◆ static function RepeatButton(content : GUIContent, params options : GUILayoutOption[]) : bool
◆ static function RepeatButton(image : Texture, style : GUIStyle, params options : GUILayoutOption[]) : bool
◆ static function RepeatButton(text : string, style : GUIStyle, params options : GUILayoutOption[]) : bool
◆ static function RepeatButton(content : GUIContent, style : GUIStyle, params options : GUILayoutOption[]) : bool
參數
text顯示在該按鈕上的文本。
image 顯示在該按鈕上的Texture。
content 用於這個按鈕的文本,圖形和提示。
style使用的風格,如果不設置,將使用當前GUISkin的button風格。

options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回bool - /true/當用戶按住按鈕時
描述:製作一個重複按鈕,只要用戶按住鼠標這個按鈕一直返回真。
◆ static function SeletionGrid(selected : int, texts : string[], xCount : int, params options : GUILayoutOption[]) : int
◆ static function SeletionGrid(selected : int, images : Texture[], xCount : int, params options : GUILayoutOption[]) : int
◆ static function SeletionGrid(selected : int, contents : GUIContent[], xCount : int, params options : GUILayoutOption[]) : int
◆ static function SeletionGrid(selected : int, texts : string[], xCount : int, style : GUIStyle, params options : GUILayoutOption[]) : int
◆ static function SeletionGrid(selected : int, images : Texture[], xCount : int, style : GUIStyle, params options : GUILayoutOption[]) : int
◆ static function SeletionGrid(selected : int, contents : GUIContent[], xCount : int, style : GUIStyle, params options : GUILayoutOption[]) : int
參數
selected選擇按鈕的索引
texts 顯示在按鈕的字符串數組。
images在按鈕上紋理數組
contents用於按鈕的文本,圖形和提示。
xCount 在水平方向多少個元素,元素將被縮放來適應,除非風格定義了一個fixedWidth,空間高度將由元素的數量決定。
style 使用的風格。如果不設置,將使用當前GUISkin的button風格。
options 一個可選的佈局選項的列表,它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回int – 選擇按鈕的索引
描述:製作一個選擇網格
◆ static function Space(pixel : float) : void
描述:在當前佈局組中插入一個空格
空格的方向依賴與使用這個命令時當前所在佈局組。如果在垂直組,空格是垂直的。
function OnGUI()
{
GUILayout.Button(“I’m the first button”);
//在兩個按鈕間插入20像素
GUILayout.Space(20);

}
GUILayout.Button(“I’m a bit futher down”);
}
在水平組,pixels將是水平的;
function OnGUI()
{
//開始水平組以便顯示水平空格
GUILayout.BeginHorizo​​ntal(“box”);
GUILayout.Button(“I’m the first button”);
//在兩個按鈕間插入20像素
GUILayout.Space(20);
GUILayout.Button(“I’m to the right”);
//結束上面開始的水平組
GUILayout.EndHorizo​​ntal();
}
◆ static function TextArea(text : string, params options : GUILayoutOption[]) : string
◆ static function TextArea(text : string, maxLength : int, params options : GUILayoutOption[]) : string
◆ static function TextArea(text : string, style : GUIStyle, params options : GUILayoutOption[]) : string
◆ static function TextArea(text : string, maxLength : int, style : GUIStyle, params options : GUILayoutOption[]) : string
參數
text 用於編輯​​的文本。這個函數返回值應該被賦回這個字符串。如下的例子。
maxLength 字符串的最大長度。如果不設置,用戶可以一直輸入。
style 使用的風格。如果不設置,則使用當前GUISkin的textField風格。
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回string – 編輯過的字符串。
描述:製作一個多行文本域。這裡用戶可以編輯這個字符串。
◆ static function TextField(text : string, params options : GUILayoutOption[]) : string
◆ static function TextField (text : string, maxLength : int, params options : GUILayoutOption[]) : string
◆ static function TextField (text : string, style:GUIStyle, params options : GUILayoutOption[]) : string
◆ static function TextField (text : string, maxLength : int, style : GUIStyle, params options : GUILayoutOption[]) : string
參數
text 用於編輯​​的文本。這個函數返回值應該被賦回這個字符串,如下的例子。

maxLength 字符串的最大長度。如果不設置,用戶可以一直輸入。
style 使用的風格。如果不設置,將使用當前的GUISkin的textArea
options 一個可選的佈局選項的列表,它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回string – 編輯過的字符串。
描述:製作一個單行文本域。這裡用戶可以編輯這個字符串。
var stringToEdit = “Hello, world”;
function OnGUI()
{
//製作一個文本域來調整stringToEdit
stringToEdit = GUILayout.TextField(stringToEdit, 25);
}
◆ static function Toogle(value : bool, image : Texture, params options : GUILayoutOption[]) : bool
◆ static function Toogle(value : bool, text : string, params options : GUILayoutOption[]) : bool
◆ static function Toogle(value : bool, content : GUIContent, params options : GUILayoutOption[]) : bool
◆ static function Toogle(value : bool, image : Texture, style : GUIStyle, params options : GUILayoutOption[]) : bool
◆ static function Toogle(value : bool, text : string, style : GUIStyle, params options : GUILayoutOption[]) : bool
◆ static function Toogle(value : bool, content : GUIContent, style : GUIStyle, params options : GUILayoutOption[]) : bool
參數
value按鈕是打開或關閉
text 顯示在該按鈕上的文本
image顯示在該按鈕上的Texture
content用於這個按鈕的文本,圖形和提示
style 使用的風格。如果不設置,將使用當前GUISkin的button風格。
options 一個可選的佈局選項的列表,它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回bool – 按鈕的新值
描述:製作一個on/off開關按鈕。
◆ static function Toolbar(selected: int, texts : string[], params options : GUILayoutOption[]) : int
◆ static function Toolbar(selected: int, images : Texture[], params options : GUILayoutOption[]) : int
◆ static function Toolbar(selected: int, contents: GUIContent[], params options : GUILayoutOption[]) : int
◆ static function Toolbar(selected: int, texts : string[], style : GUIStyle, params options : GUILayoutOption[]) : int
◆ static function Toolbar(selected: int, image : Texture[],style : GUIStyle, params options : GUILayoutOption[]) : int
◆ static function Toolbar(selected: int, content : GUIContent[],style : GUIStyle, params options : GUILayoutOption[]) : int
參數
selected選擇按鈕的索引
texts 顯示在按鈕上的字符串數組
images在按鈕上的紋理數組
contents用於按鈕的文本,圖形和提示數組
style 使用的風格。如果不設置,將使用當前GUISkin的button風格。
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回int – 選擇按鈕的索引
描述:製作一個工具欄
◆ static function VerticalScrollbar(value: float, size : float, topValue : float, buttomValue : float, params options : GUILayoutOption[]) : float
◆ static function VerticalScrollbar(value: float, size : float, topValue : float, buttomValue : float, style : GUIStyle, params options : GUILayoutOption[]) : float
參數
value在min和max之間的位置
size 能看見多大?
topValue滾動條頂端的值
bottomValue 滾動條底端的值
style 用於滾動條背景的風格。如果不設置,將使用當前GUISkin的horizo​​ntalScrollbar。
options 一個可選的佈局選項的列表。它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回float – 修改後的值。這可以通過拖動這個滾動條,或者單擊兩端的箭頭來改變。
描述:製作一個垂直滾動條。滾動條可以用來滾動文檔。大多數情況下,你會使用scollView代替。
找到額外的元素:
在滾動條兩端的按鈕將在當前皮膚中搜索“upbutton”和“downbutton”作為風格。滾動條的滑塊(你拖動的東西)將搜索並使用名為thumb的風格。
//這將使用下面的風格名來決定該按鈕的尺寸/位置
//MyVerticalScrollbarupbutton – 用於頂端按鈕的風格名稱
//MyVerticalScrollbardownbutton – 用於底端按鈕的風格名稱
//MyScrollbarthumb – 用於滑塊的風格名稱
scrollPos = GUILayout.Horizo​​ntalScrollbar(scrollPos, 1, 0, 100, “MyVerticalScrollbar”);
◆ static function VerticalSlider(value : floar, leftValue : float, rightValue : float, params options : GUILayoutOption[]) : float
◆ static function VerticalSlider(value : floar, leftValue : float, rightValue : float, slider : GUIStyle, thumb : GUIStyle, params options : GUILayoutOption[]) : float
參數
value滑桿顯示的值。這個決定可拖動滑塊的位置。
topValue滑桿頂端的值。
downValue 滑桿底端的值。
slider 用於顯示拖動區域的GUIStyle。如果不設置,將使用當前GUISkin的horizo​​ntalSlider。
thumb 用於顯示拖動塊的GUIStyle。如果不設置,將使用當前的GUISkin的horizo​​ntalSliderThumb。
options 一個可選的佈局選項的列表,它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
◆ static function Width(width : float) : GUILayoutOption
描述:傳遞給控件的選項以便給它一個絕對寬度
◆ static function Window(id : int, screenRect : Rect, func : GUIWindowFunction, text : string) : Rect
◆ static function Window(id : int, screenRect : Rect, func : GUIWindowFunction, image : Texture) : Rect
◆ static function Window(id : int, screenRect : Rect, func : GUIWindowFunction, content : GUIContent) : Rect
◆ static function Window(id : int, screenRect : Rect, func : GUIWindowFunction, text : string, style : GUIStyle) : Rect
◆ static function Window(id : int, screenRect : Rect, func : GUIWindowFunction, image : Texture, style : GUIStyle) : Rect

◆ static function Window(id : int, screenRect : Rect, func : GUIWindowFunction, content : GUIContent, style : GUIStyle) : Rect
參數
id 用於每個窗口唯一的ID。這是用於接口的ID。
clientRect 屏幕上用於窗口的矩形區域。佈局系統將試圖使窗體在他內部。如果不能,它將調整矩形去適應它
func 在窗體內部創建GUI的函數。這個函數必須使用一個函數– 當前創建GUI的窗體id。
image 用於在標題欄上顯示圖片的Texture。
content 用於這個窗口的文本,圖形和提示。
style 使用的風格。如果不設置,將使用當前GUISkin的button風格。
options 一個可選的佈局選項的列表,它用來指定額外的佈局屬性。任何在這裡設置的值將覆蓋由style定義的設置。
參見:GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
返回Rect – 窗口位於舉行位置。這個可能與你傳入的一個具有不同位置和尺寸。
描述:製作一個彈出窗口。它的內容是自動佈局的。
窗口浮動在普通GUI控件之上。具有單擊激活的特點並可以有選擇的隨意被用戶拖動。不像其他的控件,你需要傳遞給他們一個獨立的功能並放置在窗口中這兒是一個小例子來幫助你開始:
var windowRect = Rect(20, 20, 120, 50);
function OnGUI()
{
//註冊窗口,注意第三個參數
windowRect = GUILayout.Window(0, windowsRect, DoMyWindow, “My Window”);
}
//製作窗口內容
function DoMyWindow(windowed : int)
{
//這個按鈕將調整以適應物體
if(GUILayout.Button(“Hello World”))
print(“Get a click”);
}
你傳入的客戶區域只是作為一個參考,為了對窗口使用額外的限制。闖入一些額外的佈局選項。用在這裡的一個將覆蓋尺寸的計算。這是一個簡單的例子。
var windowRect = Rect(20, 20, 120, 50);
function OnGUI()
{
//註冊窗口,這裡我們指示佈局系統必須使窗體為100像素寬。
windowRect = GUILayout.Window(0, windowRect, DoMyWindow, “My Window”, GUILayout.width(100));
}
//製作窗體內容
function DoMyWindow(windowID : int)
{
//這個按鈕大小不能適應這個窗體
//通常,這個窗體將被擴展以便適應這個按鈕。但是由於GUILayout.Width將只允//許窗體為100像素寬
if(GUILayout.Button(“Please click me a lot”))
print(“Get a click”);

}
GUISettings

用於GUI如何表現的通用設置。
這些被所有在GUISkin中的元素共享。
變量
◆ var cursorColor : Color
描述:文本域中光標的顏色。
◆ var cursorFlashSpeed​​ : float
描述:文本域指示的閃動速度。
這個是閃動/秒。如果設置為0,閃動將被禁用。如果設置為-1,閃動速度將匹配系統的默認速度。
◆ var doubleClickSelectsWord : bool
描述:文本域中雙擊是否選擇單詞。
◆ var selectionColor : Color
描述:文本域中選擇矩形的顏色。
◆ var tripleClickSelectsLine : bool
描述:文本域中點擊鼠標三次是否選擇整行文本。
GUIStyleState

為GUIStyle物體使用的給定狀態的一個特定值。
GUIStyle包含用於顯示GUI元素的所有值
變量
◆ var background : Texture2D
描述:在這個狀態中被GUI元素使用的背景圖片。
◆ var textColor : Color
描述:在這個狀態中被GUI元素使用的文本顏色。
GUIStyle

GUI元素的風格位置
這個類包含一個GUI元素如何被渲染的所有信息。它包含用於字體,圖標位置,背景圖標,和間距的信息。它不包含關於它包含什麼的信息– 僅僅定義用這個風格渲染的文本如何被顯示。它不定義這個元素可以發生什麼交互,但是定義了用於交互的顯示設置。
一個GUIStyle的設置。這是模仿一個CSS樣式。它包含下列事項的設置:
背景圖片
這些被渲染在空間後面。不同的圖像可以被指定為正常顯示。當用戶將鼠標放在元素上時的顯示,當使用者按下選擇– 以及當元素被打開,如觸發按鈕,下面的這些都被稱為風格的狀態。參見:normal, hover, active, onNormal, onHover, onActive – 這些包含每個狀態的背景圖片,文本顏色屬性。
文本渲染
這個風格都可以定義一個字體渲染,以及文本對齊,換行和剪裁的設置,它也定了該風格元素不同狀態的文本顏色參考: font, alignment, wordWrap, normal, hover, active, onHover, onActive
圖標位置
GUIStyle可以渲染文本,圖標或者兩者兼而有之。 GUIStyle定義渲染時這兩者間的相關位置(這可以強制它只顯示他們其中之一)。參見:imagePosition
尺寸和間距選項
GUIStyle包含填充,邊緣和邊界。這些不嚴格地對應類似命名的CSS屬性。一個GUIStyle可以選擇的定義一個固定的寬度和高度。參見:margin, padding, border, fixedWidth, fixedHieght
變量
◆ var active : GUIStyleState
描述:空間被按下時的渲染設置。
◆ var alignment : TextAnchor
描述:文本對齊
◆ var border : RectOffset
描述:所有背景圖片的邊界。
這個對應於GUITexture的邊界設置。它只影響渲染的背景圖像,不影響定位。
◆ var clipOffset : Vector2
描述:用於該GUIStyle內容的剪裁偏移。
◆ var clipping : TextClipping
描述:當渲染的內容相對於給定的區域太大時做什麼
◆ var contentOffset : Vector2
描述:用於該GUIStyle內容的像素偏移。
◆ var fixedHeight : float
描述:如果非0,任何用這個風格渲染的GUI元素將有這裡指定的高度。
◆ var fixedWidth : float
描述:如果非0,任何用這個風格渲染的GUI元素將有這裡指定的寬度。
◆ var focused : GUIStyleState
描述:元素獲得鍵盤焦點時的渲染設置。
◆ var font : Font
描述:用於渲染的字體。如果null,當前的GUISkin的默認字體將被使用。
◆ var hover : GUIStyleState
描述:鼠標懸停在控件時的渲染設置。
◆ var imagePosition : ImagePosition
描述:GUIContent的圖片和文本如何組合。
◆ var lineHeight : float
描述:這個風格一行文本的高度。以像素為單位。 (只讀)
◆ var margin : RectOffset
描述:以這種風格渲染的元素和任何其他GUI元素之間的邊界。
這個只影響自動佈局。 (參見 : GUILayout)
◆ var name : string
描述:GUIStyle的名稱。用來基於名稱獲取它們。
◆ var normal : GUIStyleState
描述:組建正常顯示是渲染設置。
◆ var onActive : GUIStyleState
描述:元素被打開並具有鍵盤焦點時的渲染設置。
◆ var onFocused : GUIStyleState
描述:元素被打開並被按下時的渲染設置。
◆ var onHover : GUIStyleState
描述:控件被打開並且鼠標懸停在它上面時的渲染設置
◆ var onNormal : GUIStyleState
描述:控件被打開時的渲染設置。
◆ var overflow : RectOffset
描述:添加到背景圖片的額外間距。
這可用於如果你的圖片要投射一個陰影,並且向擴展背景圖片超出使用這個風格的製定GUI元素的矩形時。
◆ var padding : RectOffset
描述:從GUIStyle邊界到內容開始的間距
◆ var stretchHeight : bool
描述:這個風格的GUI元素可以被垂直拉伸以便更好的佈局麼?
◆ var stretchWidth : bool
描述:這個風格的GUI元素可以被水平拉伸以便更好的佈局麼?
◆ var wordWrap : bool
描述:文本換行?
這將導致任何包含的文本被換行以便適應控件的寬度。
構造函數
◆ static function GUIStyle() : GUIStyle
描述:
◆ static function GUIStyle(other:GUIStyle) : GUIStyle
描述:
函數
◆ function CalcHeight(content : GUIContent, width : float) : float
描述:當渲染content並製定width時這個元素的高度。
◆ function CalcMinMaxHeight (content : GUIContent, outminWidth : float, outmaxWidth : float) : void
描述:計算以這個風格渲染的content的最大最小寬度。
被GUILayout使用來正確處理換行。
◆ function CalcScreenSize(contentSize : Vector2) : Vector2
描述:計算用這個風格格式化的元素的尺寸,和一個給定的內容空格。
◆ function CalcSize(content : GUIContent) : Vector2
描述:如果內容使用這個風格渲染,計算某些內容的尺寸。
這個函數不考慮換行。要做到這點,你需要確定寬度,然後打調用CalcHeight分配計算出wordwrapped高度。
◆ function Draw(position : Rect, isHover: bool, isActive : bool, on : bool, hasKeyboardFocus : bool) : void
描述:
◆ function Draw(position : Rect, text : string, isHover: bool, isActive : bool, on : bool, hasKeyboardFocus : bool) : void
描述:用GUIStyle繪製一個文本字符串。
◆ function Draw(position : Rect, image : Texture, isHover: bool, isActive : bool, on : bool, hasKeyboardFocus : bool) : void
描述:用GUIStyle繪製圖片。如果圖片太大,它將被縮小。
◆ function Draw(position : Rect, content : GUIContent, isHover: bool, isActive : bool, on : bool, hasKeyboardFocus : bool) : void
描述:用GUIStyle繪製文本和圖片。如果圖片太大,它將被縮小。
◆ function Draw(position : Rect, content : GUIContent, controlID : int, on : bool = false) : void
描述:GUI代碼中使用的主要繪製函數。
◆ function DrawCursor(position : Rect, content : GUIContent, controlID : int, Character : int) : void
描述:用選定的內容繪製這個GUIStyle
◆ function DrawWithTextSelection(position : Rect, content : GUIContent, controlID : int, firstSelectedCharacter : int, lastSelectedCharacter : int) : void
描述:用選定的內容繪製這個GUIStyle
◆ function GetCursorPixelPosition(position : Rect, content : GUIContent, cursorStringIndex : int) : Vector2
描述:獲取給定字符串索引的像素位置。
◆ function GetCursorStringIndex(postion : Rect, content : GUIContent, cursorPixelPosition : Vector2) : int
描述:當用戶在cursorPixelPosition處點擊時獲取光標位置(索引到內容文本)這部計算內容中任何圖片。
類變量
◆ static var none : GUIStyle
描述:空GUIStyle的快捷方式。
這個風格不包含裝飾而僅僅以缺省字體渲染所有東西。
function OnGUI()
{ //製作一個沒有裝飾的按鈕
GUI.Button(“I’m very bare”, GUIStyle.none);
}
類方法
◆ static implicit function GUIStyle(str : string) : GUIStyle
描述:從當前皮膚獲取一個名為GUI風格。
GUIUtility

用於製作新GUI空間的工具類。
除非從頭開始創建自己的GUI控件,否則你不需要使用這些函數。
類變量
◆ static var hotControl : int
描述:當前具有特點的控件controlID。
熱點空間是臨時激活的一個控件。當用於在一個按鈕上按下鼠標時,它變為熱點。當一個控件具有熱點時,其他控件不允許響應鼠標事件。一旦用戶鼠標示範,這個控件設置hotControl為0以便表明其他控件可以響應用戶輸入。
◆ static var keyboardControl : int
描述:具有鍵盤焦點控件的controlID。
類方法
◆ static function GetControlID(focus : FocusType) : int
◆ static function GetControlID(hint : int, focus : FocusType) : int
◆ static function GetControlID(content : GUIContent, focus : FocusType) : int
描述:為一個控件獲取唯一ID。
◆ static function GetControlID(focus : FocusType, position : Rect) : int
◆ static function GetControlID(hint : int, focus : FocusType, position : Rect) : int
◆ static function GetControlID(content : GUIContent, focus : FocusType, position : Rect) : int
描述:為一個控件獲取唯一ID。
◆ static function GetStateObject(t : type, controlID : int) : object
描述:從一個controlID獲取一個狀態對象。
這將返回一個可重用的狀態對象,它的controlID是唯一的。如果沒有,一個新的將被創建並添加到ControlID。
◆ static function GUIToScreenPoint(guiPoint : Vector2) : Vector2
描述:將一個點從GUI位置轉化為屏幕空間。
參見:GUIUtility, ScreenToGUIPoint
◆ static function MoveNextAndScroll(forward: bool) : void
描述:只允許從OnGUI內部調出GUI函數
◆ static function QueryStateObject(t: Type, controlID : int) : object
描述:從一個controlID獲取一個存在的狀態物體。
這個返回一個可回收的狀態物體。這個物體具有唯一的controlID。如果沒有,這個函數將返回null。
◆ static function RotateAroundPivot(angle: float, pivotPoint : Vector2) : void
描述:使GUI圍繞一個點旋轉的輔助函數。
修改GUI.matrix來繞著pivotPoint旋轉所有的GUI元素angel度。
參見:GUI.matrix, ScaleAroundPivot
◆ static function ScaleAroundPivot(scale: Vector2, pivotPoint: Vector2) : void
描述:使GUI圍繞一個點縮放的輔助函數。
修改GUI,.matrix來繞著pivotPoint縮放所有的GUI元素angel度。
參見:GUI.matrix, RotateAroundPivot
◆ static function ScreenToGUIPoint(screenPoint : Vector2) : object
描述:將一個點從屏幕空間轉化為GUI位置。
用於反轉計算GUIToScreenPoint的值。
參見:GUIUtility.GUIToScreenPoint。
GUI

GUI類是Unity GUI的手工定位接口
參見:GUI tutorial
類變量
◆ static var backgroundColor : Color
描述:全局的修改由GUI渲染的所有元素的背景顏色。
這個獲取多個color。
參見:contentColor, color
◆ static var changed : bool
描述:有任何控件的輸入數據改變嗎?
◆ static var color : Color
描述:全局的修改GUI顏色。
這將影響背景和文本顏色。
參見:backgroundColor, contentColor
◆ static var contentColor : Color
描述:修改由GUI渲染的所有文本的顏色。
這個獲取多個color。
參見:backgroundColor : Color
◆ static var depth : int
描述:當前執行的GUI行為的排序深度
當你有不同的腳本同時運行時。設置這個來決定順序。
◆ static var enabled : bool
描述:GUI啟用了?
設置這個值為假將禁用所有GUI交互。所有的控件將以半透明方式繪製。並將不響應用戶輸入。
//這個值跟踪擴展的選項是否可以被打開。
var allOptions = true;
//兩個擴展選項
var extended1 = true;
var extended2 = true;
function OnGUI()
{
//製作一個開關控件以便允許用戶編輯擴展的選項
allOptions = GUI.Toogle(Rect(0, 0, 150, 20), allOptions, “Edit All Options”);
//將它的值賦給GUIEnabled – 如果上面的複選框被禁用
//這些GUI元素將
GUIenabled = allOptions
//這兩個控件只在上面的按鈕為On時啟用。
extended1 = GUI.Toogle(Rect(20, 20, 130, 20), extended1, “Extended Option 1”);
extended2 = GUI.Toogle(Rect(20, 40, 130, 30), extended2, “Extended Option 2”);
//使用條件語句,以使GUI代碼可以再次啟用
GUI.enabled = true;
//製作一個OK按鈕
if(GUI.Button(Rect(0, 60, 150, 20), “OK”))
print(“user clicked ok”);
}
◆ static var matrix : Matrix4x4
描述:GUI變換矩陣
◆ static var skin : GUISkin
描述:使用的全局皮膚
你可以在任何時候設置這個來改變GUI的外觀。如果設置為null,這個皮膚將使用默認的Unity皮膚。
◆ static var tooltip : string
描述:鼠標移動到空間上的提示信息(只讀)。
創建GUI空間是。你可以給他傳遞一個提示。這可以通過改變內容參數來製作一個自定義GUIContent物體,而不是僅僅傳遞一個字符串。
但鼠標經過帶有提示性的控件時,它設置全局的GUI.tooltip值為傳入得知。在OnGUI代碼的末端,你可以製作一個標籤來顯示GUI.tooltip的值。
function OnGUI()
{
//製作一個按鈕,它使用自定義GUI.Content參數來傳遞提示。
GUI.Button(Rect(10, 10, 100, 20), GUIContent(“Click me”, “This is the tooltip”));
//顯示鼠標指向或具有鍵盤焦點的控件提示
GUI.Button(Rect(10, 55, 100, 20), “No tooltip here”);
}
你可以使用元素的次序來創建'層次化的'提示
function OnGUI()
{
//這個box比隨後的許多元素大,並且它有一個提示。
GUI.Box(Rect(5, 35, 110, 75), GUIContent(“Box”, “this box has a tooltip”));
這個按鈕在box內部,但是沒有提示,因此它不會覆蓋這個box的提示。
GUI.Button(Rect(10, 55, 100, 20), “No tooltip here”);

這個按鈕在box內部,並且有一個提示,因此它會覆蓋這個box的提示。
GUI.Button(Rect(10, 80, 100, 20), GUIContent(“I have a tooltip”, “This button overrides the box”));
//最後,顯示來自鼠標指向或具有鍵盤焦點的提示
GUI.Label(Rect(10, 40, 100, 40), GUI.tooltip);
}
Tooltip也能用來實現一個OnMouseOver/OnMouseOut消息系統:
var lastTooltip = “”;
function OnGUI()
{
GUILayout.Button(GUIContent(“Play Game”, “Button1”));
GUILayout.Button(GUIContent(“Quit”, “Button2”));
if(Event.current.type == EventType.repaint && GUI.tooltip! = lastTooltip)
{
if(lastTooltip != “”)
SendMessage(lastTooltip + “OnMouseOut”, SendMessageOptions, DontRequireReceiver);
if(GUI.tooltip != “”)
SendMessage(GUI.tooltip + “OnMouseOut”, SendMessageOptions, DontRequireReceiver);
lastTool\tip = GUI.tooltip;
}
}
類方法
◆ static function BeginGroup(position : Rect) : void
◆ static function BeginGroup(position : Rect, text : string) : void
◆ static function BeginGroup(position : Rect, image : Texture) : void
◆ static function BeginGroup(position : Rect, content : GUIContent) : void
◆ static function BeginGroup(position : Rect, style : GUIStyle) : void
◆ static function BeginGroup(position : Rect, text : string, style : GUIStyle) : void
◆ static function BeginGroup(position : Rect, image : Texture, style : GUIStyle) : void
◆ static function BeginGroup(position : Rect, content : GUIContent, style : GUIStyle) : void
參數
position屏幕用於組的矩形區域。
text 顯示在該組上的文本。
image顯示在該組上的Texture。
content 用於這個組的文本,圖形和提示。如果提供,任何鼠標點擊被組捕獲,並且如果沒有設置,不會渲染背景,和傳遞鼠標點擊。
style 用於背景的風格。
描述:
開始組,必須與EndGroup調用匹配。
當你開始一個組時,用於GUI控件的坐標系統被設置為(0, 0)是組的左上角。所有控件被附加到組。組可以嵌套– 如果使用,子被附加到他們的父。
當你在屏幕上移動一組GUI元素是這是非常有用的。一個普通的用法是設​​計你的菜單以適合一個特定的屏幕的尺寸。然後在更大的顯示器上居中顯示GUI。
function OnGUI()
{
//約束所有的繪圖在屏幕中心800*600的區域
GUI.BeginGroup(new Rect(Screen.width / 2 – 400, Screen.height / 2 – 300, 800, 600));
//在由BeginGroup定義的新坐標空間中繪製一個box
//注意,現在(0,0)已經被移動了
GUI.Box(new Rect(0, 0, 800, 600), “This box is new centered! – Here you would put your main menu”);
//需要用一個EndGroup來匹配所有的BeginGroup調用。
GUI.EndGroup();
}
參見:matrix, BeginScrollView
◆ static function BeginScrollView(position : Rect, scrollPostion: Vector2, viewRect : Rect) : Vector2
◆ static function BeginScrollView(position : Rect, scrollPostion: Vector2, viewRect : Rect, alwaysShowHorizo​​ntal : bool, alwaysShowVertical : bool) : Vector2
◆ static function BeginScrollView(position : Rect, scrollPostion: Vector2, viewRect : Rect, horizo​​ntalScrollbar : GUIStyle, verticalScrollbar : GUIStyle) : Vector2
◆ static function BeginScrollView(position : Rect, scrollPostion: Vector2, viewRect : Rect, alwaysShowHorizo​​ntal : bool, alwaysShowVertical : bool, horizo​​ntalScrollbar : GUIStyle, verticalScrollbar : GUIStyle) : Vector2
參數
position 屏幕上用了ScrollView的矩形區域
scrollPosition 用來顯示的位置。
viewRect 用在滾動視內部的矩形。
alwaysShowHorizo​​ntal 可選的參數用來總是顯示水平滾動條。如果為假或不設置,它只在clientRect比position寬的時候顯示
alwaysShowVertical 可選的參數用來總是顯示垂直滾動條。如果為假或不設置,它只在clientRect比position長的時候顯示。
horizo​​ntalScrollbar 用於水平滾動條的可選GUIStyle,如果不設置,將使用當前GUISkin的horizo​​ntalScrollbar.
verticalScrollbar 用於水平滾動條的可選GUIStyle,如果不設置,將使用當前GUISkin的verticalScrollbar.
返回Vector2 – 修改過的scrollPosition回傳這個變量。如下的例子。
描述:在你的GUI中開始滾動視。
ScrollViews讓你在屏幕上製作一個較小的區域。使用放置在ScrollView邊上的滾動條來查看一個較大的區域。
//滾動視口的位置
var smallPosition = Vector2.zero;
function OnGUI()
{
//一個絕對位置的例子。製作一個具有較大區域的滾動視。
//並將它放置在一個小的矩形中。
scrollPosition = GUI.BeginScrollView(Rect(10, 300, 100, 100), scrollPosition, Rect(0, 0, 220, 200));
//製作四個按鈕– 每個角上有一個,由BeginScrollView最後一個參數定義的坐標系統。
GUI.Button(Rect(0, 0, 100, 20), “Top-left”);
GUI.Button(Rect(0, 0, 100, 20), “Top-right”);
GUI.Button(Rect(0, 0, 100, 20), “Bottom-left”);
GUI.Button(Rect(0, 0, 100, 20), “Bottom-right”);
//結束前面開始滾動視
GUI.EndScrollView();
}
◆ static function Box(position : Rect, text : string) : void
◆ static function Box(position : Rect, image : Texture) : void
◆ static function Box(position : Rect, content : GUIContent) : void
◆ static function Box(position : Rect, text : string, style : GUIStyle) : void
◆ static function Box(position : Rect, image : Texture, style : GUIStyle) : void
◆ static function Box(position : Rect, content : GUIContent, style : GUIStyle) : void
參數
position屏幕上用於box的矩形區域
text 顯示在該box上的文本
image顯示在該box上的Texture
content用於這個box的文本,圖形和提示
style 使用的風格。如果不設置,將使用當前GUISkin的box風格。
描述:製作一個圖形box。
◆ static function BringWindowToBack(windowID: int) : void
參數
windowID 在window調用中創建窗體時使用的唯一標識。
描述:將特定的窗口放到浮動窗口的後面。
◆ static function BringWindowToFront(windowID: int) : void
參數
windowID 在Window調用中創建窗體時使用的唯一標識。
描述:將特定的窗口放到浮動窗口的前面。
◆ static function Button(position : Rect, text : string) : bool
◆ static function Button(position : Rect, image : Texture) : bool
◆ static function Button(position : Rect, content : GUIContent) : bool
◆ static function Button(position : Rect, text : string, style : GUIStyle) : bool
◆ static function Button(position : Rect, image : Texture, style : GUIStyle) : bool
◆ static function Button(position : Rect, content : GUIContent, style : GUIStyle) : bool
參數
position屏幕上用於按鈕的矩形區域
text 顯示在該按鈕上的文本
image顯示在該按鈕上的Texture
content用於這個按鈕的文本,圖形和提示
style 使用的風格。如果不設置,將使用當前GUISkin的button風格。
返回bool - /true/當用戶單擊按鈕時
描述:製作一個簡單的按鈕,用戶點擊它們的時候,就會有些事情發生。
◆ static function DragWindow(position : Rect) : void
參數
position可以拖動的窗口部分。這個被附加到實際窗口。
描述:讓窗口可拖動。
插入這個函數的在你的窗口代碼中使窗口可拖動。
var windowRect = Rect(20, 20, 120, 50);

function OnGUI()
{
//註冊窗體
windowRect = GUI.Window(0, windowRect, DoMyWindow, “My Window");
}
//製作窗體內容
function DoMyWindows(windowID : int)
{
//製作一個非常長的矩形,高20像素。
//這將使得窗口可以調整大小,通過頂部的標題欄– 不管它有多寬。
GUI.DragWindow(Rect(0, 0, 10000, 20));
}
◆ static function DragWindow() : void
如果你想將整個窗體背景作為一個可拖動區域,不使用參數並將DragWindow放置到整體函數的最後。
這意味著任何其他類型的控件將首先被處理並且拖動將只在沒有其他控件獲得焦點時使用。
◆ static function DrawTexture(position : Rect, image : Texture, scaleMode : ScaleMode = stretchToFill, alphaBlend : bool = true, imageAspect : float = 0) : void
參數
position在屏幕上繪製一個內部包含有紋理的矩形。
image需要被繪製的紋理。
scaleMode 定義了當矩形的長寬比和內部圖像的長寬比不同時如何縮放圖像。
alphaBlend 定義了alpha值是否參與圖像的混合(默認為真)。如果為假,圖像將會被繪製並顯示。
imageAspect 源圖像的的長寬比。如果是0(默認值),則使用圖像自身的長寬比。
描述:在一個矩形內部繪製一個紋理。
參見:GUI.color, GUI.contentColor
◆ static function EndGroup() : void
描述:結束一個組
參見:BeginGroup()。
◆ static function EndScrollView : void
描述:結束一個由BeginScrollView開始的滾動視。
◆ static function FocusControl(name : string) : void
描述:把鍵盤焦點轉移到定義的控件。
參見:SetNextControlName, GetNameOfFocusedControl。
var username = "username";
function OnGUI ()
{ // 設置一個文本域中內部名稱
GUI.SetNextControlName ("MyTextField");
// Make the actual text field.
username = GUI.TextField (Rect (10,10,100,20), username);
// If the user presses this button, keyboard focus will move.
if (GUI.Button (Rect (10,40,80,20), "Move Focus"))
GUI.FocusControl ("MyTextField");
}
◆ static function FocusWindow(windowID : int) : void
參數:
windowID 當調用Window而創建的窗口的標識符。
描述:使一個窗口被激活。
參見:GUI.UnfocusWindow
◆ static function GetNameOfFocusedControl() : string
描述:返回當前激活的控件的名字。控件的名字是由SetNextControlName函數創建的。當有名字的控件被激活時,函數返回它的名字;否則的話返回一個空字符串。
var login = "username";
var login2 = "no action here";
function OnGUI ()
{
GUI.SetNextControlName ("user");
login = GUI.TextField (Rect (10,10,130,20), login);
login2 = GUI.TextField (Rect (10,40,130,20), login2);
if (Event.current.Equals (Event.KeyboardEvent ("return")) && GUI.GetNameOfFocusedControl () == "user")
{
Debug.Log ("Login");
}
if (GUI.Button (new Rect (150,10,50,20), "Login"))
Debug.Log ("Login");
}
參見:SetNextControlName, FocusControl
login2 = GUI.TextField(new Rect(10, 40, 130, 20), login2);
if(Event.current.Equals(Event.KeyboardEvent.(“return”))&&GUI.GetNameOfFocusedControl() == “user”)
Debug.log(“Login”);
if(GUI.Button(new Rect(150, 10, 50, 20), “Login”))
Debug.log(“Login”);
}
參見:SetNextControlName
◆ static function Horizo​​ntalScrollbar(position : Rect, value : float, size : float, leftValue : float, rightValue : float) : bool
◆ static function Horizo​​ntalScrollbar(position : Rect, value : float, size : float, leftValue : float, rightValue : float, style : GUIStyle) : bool
參數
position屏幕上用於滾動條的矩形區域
value在min和max之間的位置
size 能看見多大?
leftValue滾動條左邊的值
rightValue 滾動條右邊的值
style 用於滾動條背景的風格。如果不設置,將使用當前GUISkin的horizo​​ntalScrollbar。
返回float – 修改後的值。這可以通過拖動這個滾動條,或者單擊兩端的箭頭來改變。
描述:製作一個水平滾動條。滾動條可以用來滾動文檔。大多數情況下,你會使用scrollViews代替。
找到額外的元素:
在滾動條兩端的按鈕將在當前皮膚中搜索”leftbutton”和”rightbutton”作為風格。滾動條的滑塊(你拖動的東西)將搜索並使用名為“thumb”的風格。
//這將使用下面的風格名來決定該按鈕的尺寸/位置
//MyScrollbarrightbutton – 用於左側按鈕的風格名稱
//MyScrollbarleftbutton – 用於右側按鈕的風格名稱
//MyScrollbarthumb – 用於滑塊的風格名稱
scrollPos = HoriztontalScrollbar(Rect(0, 0, 100, 20), scrollPos, 1, 0, 100, “My Scrollbar”);
◆ static function Horizo​​ntalSlider(position : Rect, value : float, leftValue : float, rightValue : float) : float
◆ static function Horizo​​ntalSlider(position : Rect, value : float, leftValue : float, rightValue : float, slider : GUIStyle, thumb : GUIStyle) : float
參數
position屏幕上用於滑桿的矩形區域
value滑桿顯示的值。這個決定可拖動的位置。
leftValue滑桿左邊的值
rightValue 滑桿右邊的值
slider用於顯示拖動區域的GUIStyle。如果不設置, 將使用當前GUISkin的horizo​​ntalSlider。
thumb用於顯示拖動塊的GUIStyle。如果不設置, 將使用當前GUISkin的horizo​​ntalSliderThumb。
返回float – 被用戶設置的值。
描述:一個用戶可以拖動的滑桿。可以在min和max只見改變一個值。
◆ static function Label(position : Rect, text : string) : void
◆ static function Label(position : Rect, image : Texture) : void
◆ static function Label(position : Rect, content : GUIContent) : void
◆ static function Label(position : Rect, text : string, style : GUIStyle) : void
◆ static function Label(position : Rect, image : Texture, style : GUIStyle) : void
◆ static function Label(position : Rect, content : GUIContent, style : GUIStyle) : void
參數
position屏幕上用於標籤的矩形區域
text 顯示在該標籤上的文本
image顯示在該標籤上的Texture
content用於這個標籤的文本,圖形和提示
style 使用的風格。如果不設置,將使用當前GUISkin的label
描述:在屏幕上製作一個文本或者紋理標籤.
標籤沒有用戶​​交互,不會獲取鼠標點擊並總是以普通風格渲染。如果你想製作一個可視化響應用戶輸入的控件,使用一個Box控件。
例如:繪製一個傳統的Hello world字符串
function OnGUI
{
GUI.Label(Rect(10, 10, 100, 20), “Hello world”);
}
例如:在屏幕上繪製一個紋理。標籤也用於顯示紋理,而不僅是字符串。簡單傳遞一個紋理。
var textureToDisplay : Texture2D;
function OnGUI()
{
GUI.Label(Rect(10, 40, textureToDisplay.width, textureToDiplay.height), textureToDisplay);
}
◆ static function PasswordField(position : Rect, password : string, markChar : char) : string
◆ static function PasswordField(position : Rect, password : string, markChar : char, maxLength : int) : string
◆ static function PasswordField(position : Rect, password : string, markChar : char, style : GUIStyle) : string
◆ static function PasswordField(position : Rect, password : string, markChar : char, markChar : char, style : GUIStyle) : string
參數
position屏幕上用於文本的矩形區域
password 用於編輯​​的密碼。這個函數返回值應該被賦回這個字符串。如下的例 子。
markChar 用來隱藏密碼的字符。
maxLength 字符串的最大長度。如果不設置,用戶可以一直輸入。
style使用的風格。不過不設置,將那個使用當前GUISkin的textField風格。
返回string – 編輯過的密碼
描述:製作一個用戶可以輸入密碼的文本域。
var passwordToEdit = “My Password”;
function OnGUI()
{
//製作一個文本來調整stringToEdit。
passwordToEdit = GUI.PasswordField(Rect(10, 10, 200, 20), passwordToEdit, “*”, 25);
}
◆ static function RepeatButton(position : Rect, text : string) : bool
◆ static function RepeatButton(position : Rect, image : Texture) : bool
◆ static function RepeatButton(position : Rect, content : GUIContent) : bool
◆ static function RepeatButton(position : Rect, text : string, style : GUIStyle) : bool
◆ static function RepeatButton(position : Rect, image : Texture, style : GUIStyle) : bool
◆ static function RepeatButton(position : Rect, content : GUIContent, style : GUIStyle) : bool
參數
position 屏幕上用於按鈕的矩形區域
text顯示在該按鈕上的文本
image 顯示在該按鈕上的Texture
content 用於這個按鈕的文本,圖形和提示
style使用的風格。不過不設置,將那個使用當前GUISkin的button風格。
返回bool - /true/當用戶單擊按鈕時。
描述:製作一個按鈕。當用戶按住它時一直是激活的。
◆ static function ScrollTo(position : Rect) : void
描述:滾動所有包含在scrollview中的數據以便position可見。
◆ static function SelectionGrid (position : Rect, selected : int, texts : string[], xCount : int) : int
◆ static function SelectionGrid (position : Rect, selected : int, images : Texture[], xCount : int) : int
◆ static function SelectionGrid (position : Rect, s

_________________
歡迎大家多多交流~

avatar
aaa1218bbb
社員
社員

文章數 : 65
積分 : 2180
注冊日期 : 2011-11-22

檢視會員個人資料 http://design.gugebb.com

回頂端 向下

上一篇主題 下一篇主題 回頂端


 
這個論壇的權限:
無法 在這個版面回復文章