Unity3D中Resources动态加载NGUI图片的方法!!!

网址:http://blog.csdn.net/zhuangyou123/article/details/21406343

在NGUI中有些图片我需要动态进行变更或者加载,怎么办?

首先在项目中创建一个Resources目录,接着把需要的图片放在这里面,可以有子文件夹么?当然可以,文件结构很重要哦~

NGUI加载图片的方法其实是加载NGUI生成的atlas,大家可以看看NGUI的图集文件(一个material、一个prefab,一张图集),我们要做的就是动态加载这个prefab(它有UIAtlas属性),然后通过图片名称更改图片。

我这里那UISprite来说明,我是这样做的:

UIAtlas tu = Resources.Load("Cards/ 001", typeof(UIAtlas)) as UIAtlas;

对于上面这行需要注意,后面的type,单独写括号里面的typeof(UIAtlas) 是不行的,后面还要更上 as UIAtlas,

如果你的是GameObject的话就是这样:

GameObject tu = Resources.Load("Cards/ 001", typeof(GameObject )) as GameObject ; 

明白了吧。。。。

Sprite sprite = _Player;    //_Player是暴露变量,用来记录外面的UISprite,你懂得

sprite.atlas = tu;

sprite.spriteName = "photo";  //这里跟上这个atlas里面的图片的名称

sprite.MakePixelPerfect();    //这里记得要make一下,不然_Player的大小是不会变化的,看你个人需要

Debug.Log("资源加载完成");

我写的是这样的:

private UIAtlas sttui;

 if (cyyst == 0)//汉语
            {
                sttui = Resources.Load("stttuji/sttcn", typeof(UIAtlas)) as UIAtlas;
            }
            else if (cyyst == 1)//英语
            {
                sttui = Resources.Load("stttuji/stten", typeof(UIAtlas)) as UIAtlas;
            }


 for (int i = 0; i <  Tips.Length; i++)
            {
               UISprite sqq= Tips[i].GetComponent<UISprite>(); 
               sqq.atlas = sttui;
            }

将图集放在rsources文件吓得那里就行



最后记得卸载

 //UIAtlas[] syy = Resources.FindObjectsOfTypeAll<UIAtlas>();
       // Debug.Log("我看看有多少图集啊" + syy.Length);
        Resources.UnloadUnusedAssets();



加的资料 :

Resources.Load("文件夹名");我记得说这样可以load整个文件夹的图片
Resources.Load("文件夹名\图片名");
【大小写自己注意一下】
貌似需要看你声明的类型是什么了。比如一张图片,texture2d
texture2d tex = Resources.Load(文件夹名\图片名", typeof(texture2d)) as texture2d;

补充一下:(注意类型和大小写,还有就是中英文的标点)
Resources.Load("文件夹名");
加载整个文件夹图片
先声明一个存放图片数组 texture2d = object[];
object = Resources.Load("图片文件夹名");
然后可以这样提取数组中的元素(存放的是一组图片):object[0],object[1],object[2],object[3]。


这是图片的可行

   Texture sttr = Resources.Load("stttupian/sttbingocn/HTPPage1_cn", typeof(Texture)) as Texture;






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值