先來段小八卦,聽說ugui的主創人員是從ngui招過去的,所以,ugui中有很多概念,對於用過ngui的童鞋來說,看起來都似曾相識。ngui先來個概念對比:
ugui
錨點anchor
recttransform anchor
sprite
image
文字label
text
根節點uiroot
canvas
ui面板
panel
canvas
ui容器
uiwidget
panel
事件互動
collider
eventsystem
單張貼圖
texture
rawimage
ui相機
camera + uicamera
camera + eventsystem
再看下ui主要的通用幾個元件:
ngui
ugui
button√√
toggle√√
scroll bar√√
progress bar√√
input field√√
popup list√×
localization√×
play sound√×
scroll view√√
總體來說,對於基本的ui元素, ngui與ugui都有;在元件的豐富度上,ugui略遜於ngui。例如,ugui沒有localization、play sound元件;ngui的label是支援靜態**混排跟文字url超連結的,而ugui不支援。所以使用ugui的時候需要自行開發以上缺失的元件及功能。ugui採用recttransform的概念,將ngui中的transform+widget+anchor的功能,封裝了起來。
ugui
ngui
pivot
recttransform
widget
width、height
recttransform
widget
x、y、z
recttransform
transform
anchor
recttransform
anchor
相對於ngui的anchor可以直接對某個go進行錨點而言,ugui新的錨點設計顯然只能針對父節點來進行,是做不到跨層級錨點的,喪失了靈活性;但是也解決了ngui多重錨點之間,由於時序問題,控制項「錨飛了」的情況。
比較難理解的,應該是anchor按比例錨點做相對布局的情況,普通的使用方法,可以參考unity的官方文件[1],這裡不展開。
要使用指令碼來修改ui控制項,情況就會變得比較複雜,需要理解絕對布局(anchor四個角都在一起)跟相對布局(anchor四個角分開,會按父控制項的百分比來定義該控制項)的情況。同時,也要理解transform與anchoredposition的關係。
Unity3D開發技巧之UGUI虛擬搖桿
首先我們建立兩個image,讓搖桿stick為joystick的子物體,將彼此的相對大小調整好。建立指令碼virtualjoystick.cs繼承scrollrect。using system.collections using system.collections.generic using un...
Unity3D開發(九) Unity3d流光效果
遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...
Unity3D的UGUI布局錨點自動繫結關係
menuitem context recttransform auto public static void autorectanior bounds rectbounds recttransformutility.calculaterelativerecttransformbounds canva...