UGUI动态切换Sprite
需求:
拿了⼀个图⽚资源 ,放⼊unity中,⽤unity ⾃带裁切功能⽣成sprite资源,想要在代码中动态的切换这些sprite。
现实情况:
UGUI 没法⽅便的 类似NGUI通过直接修改图集spriteName 来切换sprite资源,⽽是需要先加载,然后把 加载到的sprite 赋值给对象的sptieObj.overrideSprite 属性来实现。
private void switchSprite() {
Sprite getSp = Resources.Load<Sprite("Atlas/Level_white_numbers"); //加载资源
image.overrideSprite = getSp; //切换sprite
}
2.但是当使⽤Sprite Editor 将图⽚资源切换成多份sprite后,需要加载所有sprite
private void switchSprite(string spriteName) {
Sprite[] getSps = Resources.LoadAll<Sprite>("Atlas/Level_white_numbers"); //加载资源中的所有sprite
Sprite getSp = null;
for (int i = 0; i < getSps.Length; i++)
{
if (getSps[i].name == spriteName) { //到我们需要的spriteps切图片
getSp = getSps[i];
break;
}
}
if(getSp != null) image.overrideSprite = getSp; //切换sprite
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论