Unity 8 4 擴充套件UnityGUI

2022-09-15 03:03:09 字數 2027 閱讀 8256

分類:unity、c#、vs2015

建立日期:2016-04-27

一、簡介

有很多種方法可以補充和擴充套件 unitygui 以滿足您的需求。你可以混合和建立控制項,並且可以有多種方法來規定使用者 gui 輸入的處理方法。

二、復合控制項

gui 中可能會出現各種情況,但總是同時出現兩種型別的控制項。例如,你可能會使用水平滑塊建立通過角色控制的螢幕(character creation)。此時,所有這些滑塊都需要提供乙個標籤 (label) 來識別,這樣玩家才能知道它們是調節什麼的。這種情況下,可以將 gui.label() 的每個呼叫與 gui.horizontalslider() 的呼叫配對,或者建立乙個同時包含標籤和滑塊的復合控制項 (compound control) 。

例如:

using

unityengine;

using

system.collections;

public

class

guitest : monobeh**iour

float labelslider (rect screenrect, float slidervalue, float slidermaxvalue, string

labeltext)

}

效果如下:

在這個示例中,呼叫 labelslider() 並傳遞正確的引數將使標籤 (label) 與水平滑動條 (horizontal slider) 配對。編寫復合控制項 (compound controls) 時,請務必記住在函式結束時返回正確的值以使其互動。

三、靜態復合控制項

使用靜態 (static) 函式,你可以為自己建立完備的復合控制項集。這樣你就不需要在同一指令碼中使用函式時宣告此函式。

using

unityengine;

using

system.collections;

public

class

compoundcontrols : monobeh**iour

}

通過將上述示例儲存至 compoundcontrols 指令碼,只需簡單地鍵入 compoundcontrols.labelslider() 並提供變數,就可以從其他任何指令碼中呼叫 labelslider()。

四、複雜的復合控制項

你還可以將復合控制項 (compound controls) 變得更具創造力。即讓它們按照你喜歡的方式排列和分組。下面的c#**示例建立乙個能夠重複使用的 rgb 滑塊:

using

unityengine;

using

system.collections;

public

class

guitest : monobeh**iour

color rgbslider (rect screenrect, color rgb)

}

效果如下:

為了展示復合控制項如何在其他復合控制項中使用,現在讓我們在它們各自上方建立復合控制項。為此,我們將像上面那樣建立乙個新的 rgb 滑塊,但使用「標籤滑塊」(labelslider) 來實現。這樣就總有乙個標籤使我們可以分辨出哪個滑塊對應哪種顏色:

using

unityengine;

using

system.collections;

public

class

guitest : monobeh**iour

color rgbslider (rect screenrect, color rgb)

}

這段**的效果如下:

unity靜態擴充套件GameObject

gameobject是sealed class 不可繼承,但是c 給我們提供了乙個更加輕便的辦法去擴充套件乙個類 靜態擴充套件 擴充套件方法使您能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。msdn 直接上 using system using system....

Unity使用擴充套件方法類

擴充套件方法在實現上和普通的物件導向程式設計是一樣的,換句話說,我們只需要定義乙個類,然後在裡面新增並實現相應的方法即可。但是這裡需要注意的地方有三點,第一,實現擴充套件方法的類必須是靜態類且類的名稱和實現擴充套件方法的類無關 第 二 實現擴充套件方法的類方法必須是靜態方法 第 三 實現擴充套件方法...

Unity編輯器擴充套件

unity引擎除了提供大部分通用的功能以外,還為開發者提供了編輯器的擴充套件開發介面,開發者可以編寫編輯器指令碼,打造適合自己的遊戲輔助工具和定製的編輯器。以前指令碼開發中使用的一些api和元件類,都屬於執行時類,unity還提供了編輯器類用於編輯器的擴充套件開發,包括編輯器環境下使用的gui類,編...