關於NGUI置灰的方案

2021-07-11 17:02:40 字數 883 閱讀 1422

網上有很多關於ngui置灰的方案,核心都是修改shader犧牲乙個顏色值實現的。

我們可以直接修改ngui的shader來避免一些出界的情況。這是乙個比較簡單的解決方案,當然也可以建立多個shader來實現。但目前我了解到的核心都是用乙個值作標識來置灰。

貼**:

shader "unlit/transparent colored"	}	

subshader

pass

offset -1, -1

blend srcalpha oneminussrcalpha

cgprogram

#pragma vertex vert

#pragma fragment frag

#include "unitycg.cginc"

sampler2d _maintex;

float4 _maintex_st;

;struct v2f

;v2f o;

fixed4 frag (v2f i) : color

else

return col;

}endcg

} }subshader

pass

offset -1, -1

colormask rgb

blend srcalpha oneminussrcalpha

colormaterial ambientanddiffuse

settexture [_maintex]

}}}

核心**:

if (i.color.r==0&&i.color.g==0&&i.color.b==0)

NGUI中使UITexture變灰的方法

在開發中經常會遇到變灰的情況。如下圖這樣 變亮的表示可用,變灰的表示不可用。一般這種情況的解決方案就是寫乙個變灰的shader。但如果是ngui的uitexture變灰會比較麻煩一些。那遇到這種需求要如何做呢?1.首先新建乙個變灰的shader,檔名起為 unlit transparent colo...

關於NGUI中Label物件的獲取

當父控制項下由許多小空間組合而成的時候,這時我們要去獲取其中例如uilabel物件或是uibutton物件,當你要獲取的子控制項的數量只有1個的時候,可以使用lable getcomponentinchildren 這個函式是獲取所有uilabel型別子控制項中deepth最小的子控制項。這時候就遇...

關於Unity裡NGUI的揹包

毋庸置疑,別人在這方面已經做過很多知識,而我作為乙個剛學的新手,只是為了記錄這些知識點,會有很多不足之處,望多多指點。在ngui裡,有自帶的拖拽方法,而我們只要直接繼承這個類,從而調取這個方法並可以了,public class dragtext uidragdropitem 當我們拖動它東西的時候,...