1. 程式人生 > >FairyGUI筆記:Graph(四)

FairyGUI筆記:Graph(四)

FairyGUI支援生成簡單的圖形。 點選側工具欄的按鈕生成一個圖形。

  • 圖形 選擇形狀為矩形、圓形或者“無”。“無”表示這是一個空的圖形,他不消耗任何顯示資源,通常用作一個佔位的用途。詳細可見下面的介紹。(注:部分平臺SDK不支援圓形)

  • 線條大小 形狀的描邊大小。0則表示不描邊。(Unity/Starling版本目前不支援圓形和圓角的描邊)

  • 線條顏色 形狀的描邊顏色。

  • 填充顏色 形狀的填充顏色。如果你希望繪製中空的圖形,那把填充顏色的透明度設定為0即可。

  • 圓角 一個整數或者4個用逗號分隔的整數。例如“4”,表示矩形的四個角均為半徑為4的圓角。例如“2,1,1,4”,則指定了每個角的半徑。(注:部分平臺SDK不支援圓角,如果你仍然希望在這類平臺使用圓角矩形,可以在右鍵選單裡點選“轉換為點陣圖”)

  •  GGraph

圖形支援動態建立,動態建立圖形需要注意一定要設定圖形的大小,否則顯示不出來。例如:

GGraph holder = new GGraph();
holder.SetSize(100, 100);
holder.DrawRect(...);
aComponent.AddChild(holder);

 前面提到,空白的圖形可以用作一個佔位的用途,執行中可能用其他物件替換這個空白圖形。FairyGUI的顯示物件與原生顯示物件混合使用時就需要用到這種空白的圖形。

舉例:現在要在UI中放置入一個原生的物件aSprite,則可以在適當位置放入一個空白的圖形,假設物件為holder,那麼程式碼裡可以這樣寫:

holder.SetNativeObject(aSprite);

這樣就把aSprite放到了holder所在的位置和深度上。 通過這樣的辦法,任何原生顯示物件都可以輕鬆插入到FairyGUI的顯示列表中。

如果SetNativeObject被重複呼叫,則前一個設定物件被銷燬,插入新的物件。

通過GGraph.shape屬性可以獲得原生向量繪製的介面類。特別說明的是,Unity平臺沒有向量繪製引擎,因此目前只提供了繪製矩形、圓形和多邊形。以下是Unity裡運用GGraph物件的一些技巧:

//傳入多邊形的各個頂點繪製多邊形
aGraph.shape.DrawPolygon(new Vector2[] { ...} }, new Color[] { ... };
//繪製一個漸變色的矩形
aGraph.shape.DrawRect(0, new Color[] { ... });

再次提醒,如果圖形是動態建立的,記得設定圖形的大小。