Unity 利用UGUI打包图集,动态加载sprite资源

Posted wucheruoxu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 利用UGUI打包图集,动态加载sprite资源相关的知识,希望对你有一定的参考价值。

今天做了一个UI界面,这个界面是好友界面,该界面上有若干个好友item。 需要对每个tem的头像对象(image)动态显示对应的头像。尝试利用UGUI的图集来加载,具体实现如下:

1.首先,需要知道SpriteAtlas的功能,可以保存一些关于要打包进去的sprite的设置。(详细参数设置的意义有待进一步研究),其中的Objects For Packing可以关联到需要打包进这个已创建图集的Sprite,或者文件夹,或者texture。目前这里的做法是关联到了文件夹。

技术分享图片

2.此时,unity已经给出了提示:Sprite Atlas packing is disabled.根据提示,改变Sprite packer的模式:

技术分享图片

到此,unity方面的操作已完成,下面就是代码实现了。

3.加载方式使用Resources.load方式,与其他的并无差别(在这里使用了泛型,这样单独抽出来写是为了可以加载其他的类型):

技术分享图片

4.第3步加载好了Sprite Atlas,接下来就要加载在这个图集种的某一张sprite了:

技术分享图片

注:41行加载图集,37行和42行加载其中的sprite。需加载图片只需调用LoadSprite方法就可以了。For example:

技术分享图片

总结:在unity中创建好图集并指定图集后,在代码中只需先加载图集,再加载该图集中的某张sprite就可以了。当然动态加载方式很多,这种只是其中的一种尝试。

 

以上是关于Unity 利用UGUI打包图集,动态加载sprite资源的主要内容,如果未能解决你的问题,请参考以下文章

unity 打包之后 怎么动态设置texture的参数

Unity_UGUI学习图集与使用

Unity图集优化原理

unity动态图集 dynamic atlas (runtime atlas)

UGUI 优化

UGUI 优化