網上有很多關於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 當我們拖動它東西的時候,...