本文主要參考iwinterice 的 ngui的uisprite動態染色的一種解決方案 文章。
參考參考,就是既參詳又拷貝,-,-|||
相關理論依據,還請去移步 ngui的uisprite動態染色的一種解決方案 裡面去尋找。我這裡只有提供一下原始碼,並對原博文進行了一點點修改,至於修改後的好壞,俺也不知道咯。
首先闡明一下需求,就是幾個角色,打怪,掃怪,頭像一直blingbling的閃,但是,duang,血量爆掉了,角色掛了,頭像就得死灰死灰的樣子了。
原博文是去改了uisprite的原始碼,雖然本人很想去改,但本著不能隨意修改原始碼的原則(因為,你不知道你修改之後對其他人會造成什麼影響,而且也為了保持原始碼的簡潔),於是,繼承咯
1自古以來,起名字就是個文雅的活,本博只是乙個有文化的流氓,所以起的名字也比較流氓(=@__@=)哪//----------------------------------------------2//
ngui: next-gen ui kit3//
4//----------------------------------------------56
using
unityengine;
7using
system.collections.generic;89
///10
///sprite is a textured element in the ui hierarchy.
11///
可以賦值乙個colormaterial
12///
1314
[executeineditmode]
15 [addcomponentmenu("
ngui/ui/ngui spriteext")]
16public
class
uispriteext : uisprite
1726
set 27}
28 [system.nonserialized]bool misshowcolor = false;29
public
bool
isshowcolor
3032
set 33}
34public
override
material material
3537
get38
4445
if (mcolormaterial != null &&misshowcolor)
4650
else
5154}55
56}5758
gameobject getmostclosepanel(transform roottrans)
5964
else
if (roottrans.parent == null)65
68else
6972}73
74 gameobject panelobj = null;75
public
bool selfrefresh = true;76
77public
void
refreshpanel(gameobject go)
7886
87if (panelobj != null)88
94}95 }
有了基本類,是遠遠不夠的,還需要乙個editor內的類,o(╯□╰)o,比較簡單,快來瞅瞅~~
1用的時候,就是直接將材質球拖到wmaterial內咯,using
unityengine;
2using
unityeditor;
3using
system.collections.generic;45
///6
///inspector class used to edit uispriteexts.
7///89
[caneditmultipleobjects]
10 [customeditor(typeof(uispriteext), true
)]11
public
class
uispriteextinspector : uispriteinspector
1226
guilayout.space(6f);
2728
return
true;29
}30 }
看,連材質球,都是借用的原博文內的東西。我實在是個懶人。
我還提供了 misshowcolor 這個變數,用來控制顯示。使用的示例**如下:
//灰度影象
public
void
showasgray()
//恢復正常影象
public
void
showasnormal()
NGUI控制項說明 UISprite
ngui版本 3.0.x uisprite是ngui裡面最實用的。使用atlas紋理的一部份用來繪製sprite,繼承uiwidget的所有功能。使用 make pixel perfect 選項 新版本是snap 來讓uisprite 使用它的原始尺寸。就是如果你的原始texture是300 200...
NGUI的UISprite動態染色的一種方法
本文主要參考iwinterice 的 ngui的uisprite動態染色的一種解決方案 文章。參考參考,就是既參詳又拷貝,相關理論依據,還請去移步 ngui的uisprite動態染色的一種解決方案 裡面去尋找。我這裡只有提供一下原始碼,並對原博文進行了一點點修改,至於修改後的好壞,俺也不知道咯。首先...
NGUI控制項說明 中文 UISprite
原文 概述uisprite是ngui裡面最實用的。使用atlas紋理的一部份用來繪製sprite,繼承uiwidget的所有功能。使用 make pixel perfect 選項 新版本是snap 來讓uisprite 使用它的原始尺寸。就是如果你的原始texture是300 200的畫素,uisp...