今天做了一个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就可以了。当然动态加载方式很多,这种只是其中的一种尝试。