Hi,今天介绍一下Deer_Gf里的图片组件。

      框架介绍请移步【Deer_GF之框架介绍】

      接下来为大家介绍一下框架里用到的图片组件及加载流程。

目录
  1. 大图(Texture)存放路径
  2. 小图(Sprite)存放路径
  3. 小图(Sprite)图集创建
  4. 大图(Texture)动态加载
  5. 小图(Sprite)动态加载
  6. Deer_GF例子

    首先了解一下框架里存放图片相关的路径,如下图;



    Deer_GF之【AssetsHotfix】和【AssetsNative】文件夹的区别介绍请移步 【Deer_GF之【AssetsHotfix】和【AssetsNative】文件夹的区别】

一、大图(Texture)存放路径

由于大图不用打图集,所以我们大图目录需要放在资源目录里,用于编辑资源方便,故放在【AssetsHotfix】和【AssetsNative】UI/UIArt/Texture文件夹下,框架里图片工具设置,在此文件夹下的图片不会转为Sprite模式,所以此文件夹下的图片用于非Image组件。大图认定由项目资源优化情况决定,本人推荐512*512以上为大图。

二、小图(Sprite)存放路径

小图我们一般认为就是Sprite,如果一个界面里有非常多的小图组成,会对Drawcall数量的增加,对游戏性能产生非常大的影响,所以我们会把这些小图打到一张大图里用于减少项目里的Drawcall数量,就有了一个图集的概念。出包之后我们只需要带者图集资源就可以用来加载图片,所以【UISprite】文件夹放在了非资源目录里,资源不会随到包里。

三、小图(Sprite)图集创建

在GF框架里,是不能直接加载图集里的信息,所以我们借助ScriptableObject创建出一个图集收集器(SpriteCollection),生成图集收集器(SpriteCollection)菜单如下:

  1. 选中【AtlasCollection】文件夹右键Create-Deer-SpriteCollection,生成好的收集器(SpriteCollection。
  2. 修改名字为我们的图集名,一般为【UISprite】文件下 的文件夹名字。
  3. 拖动【UISprite】文件夹下的子文件到收集器上的Objects的集合里,然后确定AtlasFolder目录是否正确,点击CreateAtlas按钮。如下图:

  4. 在Atlas下看到上一步骤生成的图集:如下图:

  5. 到此我们创建图集流程就结束了。是不是很方便呢。

四、大图(Texture)动态加载

 rawImage.SetTextureByFileSystem("TestTexture.png");
rawImage.SetTextureByNetwork("http://xxx/xxx.png","TestTexture.png");//第二个参数是将网络图片保存到文件系统中的地址。可以不填写。
rawImage.SetTexture("Assets/Res/TestTexture.png");

五、小图(Sprite)动态加载

image.SetSprite("Assets/xxxx/xxx.asset","Assets/xxxx/xxxx/xxxx.png");

六、Deer_GF例子

m_RImg_bg.SetTexture(AssetUtility.UI.GetTexturePath("loading_bg"));
m_Img_Icon.SetSprite(AssetUtility.UI.GetSpriteCollectionPath("Icon"),AssetUtility.UI.GetSpritePath("Icon/Icon"));
m_RImg_NetImage.SetTextureByNetwork("https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png");

致谢

FingerCaster/UGFExtensions 来自小白对GF的扩展库

最新文章

  1. 迁移 SQL Server 数据库到 Azure SQL 实战
  2. PHP批量清空删除指定文件夹内容
  3. Swift :?和 !
  4. Windows 回调监控 <二>
  5. Sass&Compass学习笔记(一)
  6. HDU-4882 ZCC Loves Codefires
  7. 【HDOJ】3473 Minimum Sum
  8. ZOJ 3471 压缩状态DP
  9. 吐槽下CSDN编辑器
  10. 3.If statements
  11. 一键安装Cloud Torrent
  12. QuerySet
  13. PJSUA2开发文档--第八章 好友(Buddy)类
  14. 用包来组织模型 -- Django从入门到精通系列教程
  15. linux screen 命令 :离线运行程序
  16. Cmd2001的毒瘤水题题解
  17. Office在线预览及PDF在线预览的实现方式
  18. lucene源码分析(2)读取过程实例
  19. Java从零开始学三十(String和StringBuffer类)
  20. JMeter学习笔记--详解JMeter配置元件

热门文章

  1. Flask初步认识
  2. P3Depth: Monocular Depth Estimation with a Piecewise Planarity Prior
  3. [OpenCV实战]47 基于OpenCV实现视觉显著性检测
  4. ArcGIS工具 - 批量删除空图层
  5. 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(3)-再识Charles
  6. 解决angular11+zorro使用table组件排序失效以及分页组件失效问题,附完整DEMO代码
  7. linux 高效压缩工具之xz的压缩解压使用
  8. 记一下Mybatis Plus遇到的现象
  9. WordPress4.6任意命令执行漏洞
  10. 【分析笔记】全志平台 gpio-keys 驱动应用和 stack crash 解决