NGUI的UISprite動態染色的一種方法

2022-04-09 04:29:59 字數 2628 閱讀 3993

本文主要參考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

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 }

用的時候,就是直接將材質球拖到wmaterial內咯,

看,連材質球,都是借用的原博文內的東西。我實在是個懶人。

我還提供了 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...