論unity中UI工具與GUI函式

2022-07-12 20:48:22 字數 1299 閱讀 7163

此文**自:

當我們在unity中建立設計專案時,難免會遇到一些想表述文字的時候(比如說顯示得分之類的),這時候我們就有倆種方法來達成目的:

1.unity中自帶的ui工具。

2.c#中的ongui函式。

而本文我們就來闡述兩者之間的區別。

當我們想運用一種工具時,第一步就是建立它。

而ui工具是unity中自帶的一種工具,那麼建立方式就很簡單,只需要在hierachy中右鍵找到ui,然後建立其中的text即可。如下圖所示。

然後unity會自動幫我們建立分類,如下圖。

單擊text後我們便可以在屬性中對其進行設定,如下圖。

其中包括一些位置,大小,文字內容等方面。

而unity的gui這東西如果學過c#的話,應該很好理解的,可以認為是.net的使用者互動控制項,實際上應該也就是這個樣子,類似於button,label,textbox….的這些東西在gui裡面都有。使用的時候也可以隨時新增刪除。其以**的形式存在,所以本身不需要建立。

在上面我們提到ui其實是一種unity自帶的工具,而gui是c#中的函式。所以說在我看來兩者之間最大的區別可能就是作用物件了。

對於ui工具來說,其本身就是一種工具,並不需要另一種工具來作為作用物件。

而對於gui函式來說就完全不一樣了,gui函式終究是一種函式,它需要一種載體來使其可以表示出來,而不只是作為**的形式存在。所以對於gui函式的作用物件,我們一般是把它放在camera(攝像機)上,來跟據攝像機的大小等一些屬性來對其進行限制與調整。

舉個例子,下面是針對植物大戰殭屍中可種植物的選單設定。**如下。

void ongui() 

guilayout.endhorizontal();

guilayout.endarea();

}

其中包含了對文字位置,文字影象,以及文字內容的等**。

將其放入camera中。效果如下。

4.尾言

感謝各位的**,本文為本人自己的看法。如有錯誤,還請斧正。

unity3d中UI自適應

unity3d中針對ui介面的自適應問題,其內嵌了自己的演算法,如何使用它的演算法呢?很簡單!找到canvas的屬性介面中的canvas scaler 其中將ui scale mode設定為 scale with screen size,將reference resolution中x,y設定為主流解...

Unity中UI和遊戲物體之間的層級渲染

之前使用乙個uicamera和乙個maincamera做場景,希望給場景加上乙個background,但是將background和操作的ui都綁在uicamera,將遊戲物體正常地用maincamera渲染時,出現了遊戲物體遮擋住button或者background直接遮擋住了整個場景的情況。在不清...

Vue初體驗 UI工具 axios與後台相連

幫學姐寫系統中的乙個功能元件,第一次接觸了vue,感覺很好上手,而且可使用的工具也很多,好記性不如爛筆頭,小小記錄一下 ui組建庫 element,個人很喜歡了,好看又好用。axios 乙個基於 promise 的 http 庫。get方式 axios.get user then function ...