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的扩展库

Deer_GF之图片的更多相关文章

  1. webp图片实践之路

    最近,我们在项目中实践了webp图片,并且抽离出了工具模块,整合到了项目的基础模板中.传闻IOS10也将要支持webp,那么使用webp带来的性能提升将更加明显.估计在不久的将来,webp会成为标配. ...

  2. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  3. Asp.Net Mvc 使用WebUploader 多图片上传

    来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是 ...

  4. Markdown 图片助手-MarkdownPicPicker

    title: Markdown 图片助手 v0.1 toc: true comments: true date: 2016-06-04 16:40:06 tags: [Python, Markdown ...

  5. 图片访问实时处理的实现(nodejs和php)

    我在访问时光网.网易云音乐等网站时,发现将它们页面中的一些图片URL修改一下就可以得到不同尺寸的图片,于是思考了其实现方案,我的思路是:URL Rewrite + 实时处理 + 缓存,对用户请求的UR ...

  6. nodejs进阶(4)—读取图片到页面

    我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...

  7. C#给PDF文档添加文本和图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  8. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Web性能优化:图片优化

    程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...

  10. HTML中上传与读取图片或文件(input file)----在路上(25)

    input file相关知识简例 在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传.批量上传.删除照片.增加照片.读取图片.对上传的图片或文件的判断,比如限制图片的张数.限 ...

随机推荐

  1. 使用 Bitnami Helm 安装 Kafka

    服务器端 K3S 上部署 Kafka Server Kafka 安装 ️ Quote: charts/bitnami/kafka at master · bitnami/charts (github. ...

  2. react 高效高质量搭建后台系统 系列 —— antd和样式

    其他章节请看: react 高效高质量搭建后台系统 系列 antd 后续要做登录模块(主页),不仅要解决请求数据的问题,还需要完成 antd 配置以及样式的准备. antd 多种主题风格 详情请看 这 ...

  3. tornado原理介绍及异步非阻塞实现方式

    tornado原理介绍及异步非阻塞实现方式 以下内容根据自己实操和理解进行的整理,欢迎交流~ 在tornado的开发中,我们一般会见到以下四个组成部分. ioloop: 同一个ioloop实例运行在一 ...

  4. python之路47 django路由层配置 虚拟环境

    可视化界面之数据增删改查 针对数据对象主键字段的获取可以使用更加方便的obj.pk获取 在模型类中定义双下str方法可以在数据对象被执行打印操作的时候方便的查看 ''' form表单中能够触发提交动作 ...

  5. [C++标准模板库:自修教程与参考手册]关于vector

    什么是vector 可以这样认为,vector就是一个动态的数组,其中的元素必须具备assignable(可赋值)和copyable(可拷贝)两个性质. vector的一些重要的性质 vector支持 ...

  6. 解决 requests cookies 为空的坑

    转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/5d14f0d7.html 你好,我是测试蔡坨坨. 我们在做接口自动化测试的时候,一般会通过调用登录接口来获取cookies. ...

  7. C++Day12 虚拟继承内存布局测试

    测试一.虚继承与继承的区别 1.1 单个继承,不带虚函数 1>class B size(8): 1> +--- 1> 0 | +--- (base class A) 1> 0 ...

  8. 字节输出流OutputStream类-字节输出流写入数据到文件

    字节输出流OutputStream类 java.io.OutputStream抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地.它定义了字节输出流的基本共性功能方法.public v ...

  9. 部署并运行laravel项目显示:SQLSTATE[HY000] [2002] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

    composer安装完所需依赖之后仍旧打不开页面,排查之后发现是数据库的问题... 也就是说,.env文件的配置写错了,改一下就好啦

  10. 读Java8函数式编程笔记03_高级集合类和收集器

    1. 方法引用 1.1. 一种引用方法的轻量级语法 1.1.1. 提供了一种简短的语法 1.1.2. 标准语法为Classname::methodName 1.2. 凡是使用Lambda表达式的地方, ...