void ClickBt(GameObject _go)
{
UISprite _sprite = _go.GetComponent<UISprite>();
_tex = (_sprite.atlas.texture) as Texture2D;
isProductClick = true;
int _pixelX = _sprite.atlas.GetSprite(_sprite.spriteName).x;
int _pixelY = _sprite.atlas.GetSprite(_sprite.spriteName).y;
int _pixelW = _sprite.atlas.GetSprite(_sprite.spriteName).width;
int _pixelH = _sprite.atlas.GetSprite(_sprite.spriteName).height;
Texture2D tex = new Texture2D(_pixelW, _pixelH);
Color[] cor = _tex.GetPixels(_pixelX, _tex.height - _pixelY - _pixelH, _pixelW, _pixelH); //从左下角开始计算
tex.SetPixels(cor);
tex.Apply();
deskMList[0].mainTexture = tex;
}读取Atlas图集中精灵做为材质贴图
最新推荐文章于 2024-11-06 05:52:35 发布
本文介绍了一个Unity脚本函数voidClickBt(GameObject_go),该函数在点击事件中捕获UI元素的纹理,并将其应用于指定的材质上。通过获取UISprite组件并读取其纹理数据,实现了对特定UI元素的像素级操作。
1907

被折叠的 条评论
为什么被折叠?



