https://bbs.egret.com/thread-1653-1-1.html

TextureMerger使用教程

2014-10-28 15:53

1862932
本帖最后由 E-Tool君 于 2015-1-26 12:08 编辑

之前的教程都快成老古董了,现在TextureMerger有了些新的变动,这篇教程也刷新一下吧~~

1.选择编辑类型
<ignore_js_op> 
TexureMerger 1.5.0 相比之前多了一个新功能 BitmapFont 这个功能是用来制作纹理字体的。稍后会介绍这部门,咱么按照之前的教程顺序继续往下看,选择SpriteSheet选项。

2.SpriteSheet
<ignore_js_op> 
SpirteSheet'相比上几个版本没有怎么变化,工具提供了两种数据导入的方式,拖拽或者点击菜单导入。下面的状态栏有纹理大小、缩放、当前编辑格式的信息。右下角添加了一个查看教程的快捷按钮,有些新童鞋不知道怎么用的可以点这里。

<ignore_js_op> <ignore_js_op> <ignore_js_op><ignore_js_op>

附加拓展名的配置可以对纹理名称追加文件的拓展名,比如.png会被追加成_png,这个对Egret MovieClip是无效的,供了两种自动匹配策略:Power 2,Free Size前者可以得到合适的2的幂的尺寸,后者可以得到合适的自由尺寸。切除透明边界 是指将透明图片周围透明的部分全部切掉。具体效果大家试一下就知道啦。下面我们来导入一些纹理素材。

2.1导入纹理素材
<ignore_js_op>

 

 
导入素材后我们便可以看到布局好的大纹理啦,工具对导入的纹理做了去重处理,相同的纹理不会重复显示,只保留纹理名称。左侧有对应的纹理列表,这些名称是跟文件名一致的,通过列表我们可以看到对应的纹理框在大图上的位置,也可以Ctrl或者Shift键多选后Delete删除无用纹理,右键删除选项也可以完成操作。

2.2保存与打开
<ignore_js_op> 
也可以把当前编辑的纹理集信息保存为项目文件,方便日后修改

3.新建
<ignore_js_op> 
如果想继续编辑的话,我们点击新建,界面就和启动界面一样,这次我们选择 Egret MovieClip。

3.Egret MovieClip
1.5.0版本对MovieClip的数据结构做了调整,允许一个文件包含多个动画。工具方面也跟随步伐,允许加载多个动画,不过工具对swf的解析程度欠佳,目前还是对SWF有要求的:swf本身必须是个多帧mc,如果只是作为容器嵌套其他mc子项的做法将不会被绘制。对gif的要求基本没有,都能绘制出来,但是gif动画制作方式的存在不同,可能某些帧不能完全绘制出来。
<ignore_js_op>

 

 
下面我们来看一下,最新的mc数据结构:

MovieClip数据格式标准

"file":"icons.png"
"mc": {
        "mc_name1": 
                         {
                          "frameRate": 24,
                                 "labels": [
                                               { "name": "stand", "frame": 1}
                                              ],
                                "frames": [
                                               { "res": "res_name1","x": 3,"y": 0,"duration": 2}
                                               ], 
                               "actions": [
                                               { "name": "action_name1", "frame": 1}
                                              ],
                                "scripts": [
                                              { "frame": 1,"func": "gotoAndPlay","args": ["attack"]}
                                              ]
                         }
        },
"res":
       {
         " res_name1": {"x": 170,"y": 674,"w": 80,"h": 110}
        }
}
"file": 该数据文件对应的纹理文件路径 (用于帮助工具匹配对应的问题,引擎中不会解析这个属性) 
"mc": MovieClip数据列表, 
列表中的每个属性都代表一个MovieClip名字
"frameRate": 帧率, 【可选属性】,默认值24,可以由开发者通过代码设定
"labels": 帧标签列表,【可选属性】,如果没有帧标签,可以不加这个属性。
"name": 标签名
"frame": 标签所在的帧序号
"frame": 关键帧数据列表
"res": 该关键帧帧上需要显示的图片资源,【可选属性】,默认值为空(用于空白帧的情况)
"x": 图片需要显示的x坐标, 【可选属性】,默认值0
"y":图片需要显示的y坐标, 【可选属性】,默认值0
"duration": 该关键帧持续的帧数,【可选属性】,默认值1
"actions": 帧动作列表,用于抛出自定义事件,【可选属性】,如果没有帧动作,可以不加这个属性。
"name": 动作名
"frame": 动作所在的帧序号
"scripts": 帧脚本列表,【可选属性】,如果没有帧动作,可以不加这个属性。
"frame": 脚本所在的帧序号
"func": 脚本调用的方法名 支持动画播放相关的的6个API
"args": 脚本调用方法使用的参数列表 【可选属性】,默认值空
"res": 资源列表
列表中的每个属性都代表一个资源名
"x": 资源所在纹理集位置的x坐标
"y": 资源所在纹理集位置的y坐标
"w": 资源宽度
"h": 资源高度
其中:actions、scripts暂时还未启用,日后会用到的

4.Bitmap Font
这个功能是1.5.0新增的功能,方便我们制作纹理字体,这个功能支持三种形式加载方式:散列单个字符图片、整张字符集图片、系统字体
默认操作是单个字符图片的导入,要想使用其他两种方式可以从“其他字符”中查看。
单个字符导入比较简单,就跟SpriteSheet的操作一样。下面着重看一下另外两个方式。

4.1系统字体
 
这里可以获取系统的字体,同时可设置字体的大小,颜色,粗细,然后在输入框输入自己想要的字符就可以了,这里注意了空格字符也是要输入的。

4.2字符集
 
字符集这块是为了方便更个性的字体而生的,美术人员可以将画好的字符整齐的排列好导成一张图片,然后用工具导入即可,工具会自动识别每个字符的区域,我们需要做的就是在下面的文本框依次填写对应的文本就行啦。

TextureMerger使用教程的更多相关文章

  1. 【咸鱼教程】BitmapLabel位图字体使用

    引擎版本3.2.6 教程目录一 为什么要使用位图字体二 如何使用位图字体2.1 TextureMerger制作位图字体2.2 exml中使用位图字体三 Demo源码 一  为什么要使用位图字体egre ...

  2. 纹理集打包和动画转换工具Texture Merge的使用教程

    Texture Merger 可将零散纹理拼合为整图,同时也可以解析SWF.GIF动画,制作Egret位图文本,导出可供Egret使用的配置文件,其纹理集制作功能在小游戏开发中可以起到降低小游戏包体的 ...

  3. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  4. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  5. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  6. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  7. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  8. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  9. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

随机推荐

  1. Linux系统组成和获取命令帮助4

    Linux文件系统:        1.文件名名称严格区分字符大小写        2.文件可以使用除/以外任意字符        3.文件名长度不能超过255字符        4.以.开头的文件为 ...

  2. 解决Zabbix某台主机突然频繁告警"Zabbix agent on xxxxxx is unreachable for x minutes"

    一.某台主机突然某一天频繁告警zabbix agent不可达 查看zabbix agent日志没有发现异常 二.查看zabbix server日志发现这台主机的日志有大量报错信息"first ...

  3. zencart新增categories分类表字段步骤

    zencart新增分类字段步骤 1.categories表新增字段related_categories.related_products ) ) NOT NULL; 2.修改admin\categor ...

  4. 接口数据转json格式

    接口数据转json格式 function tojson($result, $callback = null){ header('Content-Type:text/html; charset=utf- ...

  5. tomcat启动失败_严重: A child container failed during start

    错误信息代码: 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apach ...

  6. Java程序中实现 MySQL数据库的备份与还原

    案例代码: 数据库备份 //mysqldump -h端口号 -u用户 -p密码 数据库 > d:/test.sql --备份D盘 //备份 public static void dataBase ...

  7. (转载) Consul 使用手册(感觉比较全了)

    使用consul 介绍 Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键特性: 服务发现 Consul的客户端可用提供一个服务,比如 api 或者 ...

  8. 24.stark组件全部

    admin组件: 博客里面的图片的是在太难弄了,有大哥会弄给我贴一片博客,我一个一个加太累了,没有加 admin参考:https://www.cnblogs.com/yuanchenqi/articl ...

  9. ORA-03113:通信通道的文件结尾处理

     ORA-03113:通信通道的文件结尾执行:alter system set "_optimizer_join_elimination_enabled"=false; cmdsq ...

  10. BFS解决九宫重排问题

    问题 1426: [蓝桥杯][历届试题]九宫重排 时间限制: 1Sec 内存限制: 128MB 提交: 215 解决: 47 题目描述 如下面第一个图的九宫格中,放着  1~8  的数字卡片,还有一个 ...