UISprite詳解

UISprite可以說是NGUI中被用到最多的組件之一了。畢竟一個UI界面都是由不同的精靈圖片也就是Sprite進行不同的組合搭配而成的。
在Unity中使用NGUI創(chuàng)建Sprite非常的簡單板驳,只需要在工具欄中找到NGUI->Create->Sprite并點擊即可。如果你是第一次創(chuàng)建,NGUI會自動給你創(chuàng)建一個根目錄也就是UIRoot,并附帶一個Camera磁奖。
UIRoot本身掛載了一個名為UIRoot的組件,這個組件是整個NGUI的根節(jié)點某筐。還掛載了一個UIPanel組件比搭,UIPanel是NGUI渲染的重要一環(huán),UIPanel可以直接將所掛在的UI及其下方的UI與其他UI做一個很好的分離南誊。這里所說的分離是指層級的分離身诺,依靠的就是UIPanel的depth屬性。當兩個panel的depth屬性不一樣時抄囚,其節(jié)點下方的所有UI都會以此panel的depth的基礎(chǔ)上進行計算霉赡。這樣,多個Panel之間的層級都不一樣幔托,做到了面板的分離穴亏。
回到UISprite,這個組件的Inspector面板是這樣子的重挑。

sprite Inspector面板.png

Atlas表示這個sprite所屬的圖集嗓化,點擊“前方”的Atlas就可以看到Unity中所有的Atlas。
image.png
Atlas面板只會顯示幾個圖集谬哀,并不會將所有的圖集都顯示在選擇面板中刺覆,如果我們選擇的不在這個列表中三妈,點擊下方的“Show All" 就可以看到其他的圖集也出現(xiàn)在選擇面板中苫纤。
右方的Edit按鈕可以點進入編輯模式,可以更改圖集的引用模式涛漂,是直接使用篇梭,還是引用其他的圖集氢橙。引用其他圖集的好處在于,你可以用多個UIAtlas引用同一個圖集很洋,這樣不需要將一個圖集拷貝成多份充蓝。這個功能的意義在于,你可以將圖集放editor目錄中喉磁,然后將引用方放在resource或者streamAsset目錄下,在打包的時候官脓,斷開引用协怒,這樣打包的時候不會打進包體中,包體會小很多卑笨。然后在手機上運行的時候孕暇,再重新關(guān)聯(lián)起來。這樣達到減小包體的作用,兩者之間的關(guān)聯(lián)只需要一張表就可以很好的綁定妖滔。
Sprite隧哮,就是這個圖集中的一個精靈元素,點擊Sprite可以打開選擇面板座舍,里面有這個圖集所有的Sprite圖片沮翔,找到我們需要的點擊就可以直接運用到我們當前Hierarchy面板中的UISprite上面。當然曲秉,這是再Editor模式下選擇采蚀。想要用腳本動態(tài)改變或者賦值的話,直接xx.spriteName = "name"即可承二。xx是腳本中對場景中的UISprite的引用榆鼠。spriteName是UISprite的一個屬性,直接賦值它會正確的找到我們需要的同名的圖片亥鸠,如果賦值的名字是錯誤或者不存在的話妆够,找不到雖然不會報錯,但是場景中原本應(yīng)該顯示Sprite的地方則是為空负蚊。
Type是這個Sprite的切割方式神妹,NGUI總共提供了五種切割方式。第一種為Simple簡單型盖桥,這種就是保持最原始的樣子灾螃。這個模式下,如果次Sprite只做等比縮放或者不在意形變揩徊,比如純色的之類的腰鬼,可以選擇這一種。但是如果你的Sprite要求能夠拉伸塑荒,比如你需要做搭建一個柱子熄赡,而美術(shù)只給了你底部的一小截(事實上,為了節(jié)約包體齿税,這是正常的做法)彼硫,如果選擇Simple模式進行拉伸,肯定會有變形凌箕,會變得非常難看拧篮,也不是我們想要的效果。這時候就可以選擇第二種牵舱,為Sliced 模式串绩。 選擇slice模式以后,需要點擊右方的editor按鈕芜壁,然后修改我們需要切割的部分礁凡。
sprite切割.png

Dimensions我們不需要動高氮,xy是這個sprite在圖集中的位置,Width顷牌、Height是這個Sprite的高寬剪芍。這些保持默認就好,不建議動窟蓝,因為很容易影響到其他的Sprite罪裹。要改大小的話,可以在外部改完以后重新打圖集疗锐。Border是這個Sprite的四個方向的內(nèi)邊框坊谁,當我們改四個方向(Left、Right滑臊、Bottom口芍、Top)為4的時候,下方的預(yù)覽可以看到多出了四根線雇卷,意思就是將內(nèi)邊框向內(nèi)部移動了4個像素鬓椭。可以看到四條虛線中間隔出來了一個矩形关划,當我們進行拉伸的時候小染,四條虛線外面的部分是不會被拉伸的,被拉伸的只有內(nèi)部的矩形部分贮折。這樣我們可以將這個圖片拉伸到任何我們想要的大小裤翩。需要注意的是,內(nèi)部矩形部分不能有顏色不一致或者圖像调榄,否則就會被拉伸踊赠,顯得很奇怪。
Padding是邊框的寬度每庆,也就是sprite的外邊框到內(nèi)邊框的寬度筐带。內(nèi)邊框就是我們剛剛切割的那條線,外邊框看不見缤灵,其實就是整個sprite最外邊的邊緣伦籍。如果我們修改這個值,則會出現(xiàn)向內(nèi)塌陷的情況腮出。
sliced模式.png

如圖帖鸦,如果我修改了padding的left,就會將內(nèi)邊框往圖片內(nèi)部擠壓胚嘲,不過這并不影響圖片本身的切割富蓄。超過的話,會正常的往右邊改變慢逾,也就是向右邊緣擠出去立倍,這沒什么意義,如果不是有特殊需求不建議這么干侣滩。
Tiled也就是平鋪口注。如果圖片的拉伸超出sprite本身的大小,那么就會再鏡像一個進行顯示君珠。就像貼同樣的瓷磚一樣寝志。如果我們需要一個同樣花紋的背景,就可以用這種方式策添。
Filled填充模式材部,這個是用sprite做一個填充,可以做倒計時效果唯竹。比如技能的倒計時乐导,
inspector.png
效果圖.png
360的時候,會以整個sprite的中點作為中心做擦除或者填充浸颓,fillCount越大就越完成物臂。如果做倒計時,我們只需要動態(tài)改變fillCount的值就可以了产上。Invert Fill就是反向棵磷,即fillCount越接近1,擦除的越多晋涣。
Advanced模式仪媒,這種模式下,可以手動調(diào)整sprite的四個方向的模式谢鹊,不過只支持sliced模式跟tiled模式算吩。
再下來就是Sprite的顏色設(shè)置,有兩個撇贺,一個是漸變色Gradient赌莺,一個是普通的顏色ColorTint。漸變色只支持上線漸變松嘶,不支持徑向漸變艘狭。顏色則點開可以直接選擇自己需要的。
Widget翠订,這是Sprite大小跟軸點控制參數(shù)的地方巢音。整張圖有九個點,分別是左上尽超、頂部官撼、右上、左中似谁、中點傲绣、右中掠哥、左下、底部秃诵、右下续搀。而privot就可以很好的設(shè)置這九個點。它有六個點分別為左中右上中下菠净,只能點擊兩個禁舷,由這選中的兩個對應(yīng)每一個位置。
Depth表示這種Sprite的深度毅往,用以跟其他Sprite進行層級的區(qū)分牵咙。Depth越大表示層級越高,也就顯示的越前面攀唯。Back表示depth減一洁桌,F(xiàn)orward表示depth加一
Size表示這種Sprite的大小。右邊的Snap表示直接重置到原始大小革答,需要注意的是Sliced模式下點擊Snap沒有作用战坤。Simple模式下只最有用的。Aspect表示 寬高比残拐,F(xiàn)ree的時候途茫,可以只有修改大小,改為Base On Width或者Base On Height的時候溪食,只能調(diào)整Width或者Height囊卜,另一個方向則會按照寬高比進行計算并改變。能有效節(jié)約圖片大小的時間错沃。
Anchors用來控制改Sprite的四個邊框跟其他組件的關(guān)聯(lián)關(guān)系
anchors.png
栅组,type表示關(guān)聯(lián)關(guān)系,有none無關(guān)聯(lián)枢析,Unified統(tǒng)一修改玉掸,Advance高級模式。Unified模式表示統(tǒng)一關(guān)聯(lián)醒叁,也就是我們只需要將目標拖入Target中司浪,它會自動計算改組件的四個邊框跟目標組件的位置差別。然后我們只有修改目標組件的四個邊框的距離(也就是改變目標組件的width跟height)把沼,這個Sprite 的邊框就會跟著移動同樣的位移保持這個差距不變啊易。當我們需要一個sprite跟著另一個sprite移動或者同步大小的時候,就可以用這種方式饮睬。但是有時候我們并不需要四個方向都跟著目標改變租谈,我們就可以選擇使用Advance模式。這樣可以自定義哪個邊框跟著目標的哪個邊框進行調(diào)整捆愁,而不是所有的都跟著調(diào)整割去。
Sprite就是這樣窟却,用的多了就發(fā)現(xiàn)沒有什么神秘的!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末劫拗,一起剝皮案震驚了整個濱河市间校,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌页慷,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胁附,死亡現(xiàn)場離奇詭異酒繁,居然都是意外死亡,警方通過查閱死者的電腦和手機控妻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門州袒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人弓候,你說我怎么就攤上這事郎哭。” “怎么了菇存?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵夸研,是天一觀的道長。 經(jīng)常有香客問我依鸥,道長亥至,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任贱迟,我火速辦了婚禮姐扮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘衣吠。我一直安慰自己茶敏,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布缚俏。 她就那樣靜靜地躺著惊搏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪袍榆。 梳的紋絲不亂的頭發(fā)上胀屿,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音包雀,去河邊找鬼宿崭。 笑死,一個胖子當著我的面吹牛才写,可吹牛的內(nèi)容都是我干的葡兑。 我是一名探鬼主播奖蔓,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼讹堤!你這毒婦竟也來了吆鹤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤洲守,失蹤者是張志新(化名)和其女友劉穎疑务,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梗醇,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡知允,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了叙谨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片温鸽。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖手负,靈堂內(nèi)的尸體忽然破棺而出涤垫,到底是詐尸還是另有隱情,我是刑警寧澤竟终,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布蝠猬,位于F島的核電站,受9級特大地震影響衡楞,放射性物質(zhì)發(fā)生泄漏吱雏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一瘾境、第九天 我趴在偏房一處隱蔽的房頂上張望歧杏。 院中可真熱鬧,春花似錦迷守、人聲如沸犬绒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凯力。三九已至,卻和暖如春礼华,著一層夾襖步出監(jiān)牢的瞬間咐鹤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工圣絮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祈惶,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像捧请,于是被迫代替她去往敵國和親凡涩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 前言:關(guān)于Unity中關(guān)于UI的插件疹蛉,我們最開始學(xué)的是UGUI活箕,是Unity自帶的UI系統(tǒng),而在Unity版本還沒...
    Joe_Game閱讀 16,247評論 0 8
  • 目錄 1、介紹兩大UI插件NGUI和UGUI2筑舅、unity渲染順序控制方式3座慰、NGUI的控制4、UGUI的控制5翠拣、...
    小飛不會飛_閱讀 7,139評論 4 13
  • 一、Unity簡介 1. Unity界面 Shift + Space : 放大界面 Scene界面按鈕渲染模式2D...
    MYves閱讀 8,177評論 0 22
  • Unity編輯器基礎(chǔ) 1.請描述游戲動畫有幾種游盲,以及其原理误墓。 主要有關(guān)節(jié)動畫、單一網(wǎng)格模型動畫(關(guān)鍵幀動畫)益缎、骨骼...
    豆錚閱讀 4,463評論 0 6
  • NGUI作為Unity的一個UI工具谜慌,從Unity開始時就跟著迭代發(fā)展。到現(xiàn)在莺奔,最新版本已經(jīng)是NGUI Next ...
    俠者大屁屁閱讀 8,466評論 0 5