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. deepin禁用笔记本自带键盘

    参考命令: sudo apt install xinput xinput xinput list-props 'AT Translated Set 2 keyboard' xinput set-pro ...

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

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

  3. python 示例代码5

    示例5:用户输入和格式化输出2(用户输入demo1)

  4. five rendering ideas 里获取csm的 shadow边界做 pcf

    http://advances.realtimerendering.com/s2011/White,%20BarreBrisebois-%20Rendering%20in%20BF3%20(Siggr ...

  5. php类知识---trait特性

    #由于php类只支持单一继承,但我们又需要使用一些类的优秀特性,因此有了trait <?php trait cpc #trait 下的方法只能用public { function trainni ...

  6. 201871010126 王亚涛 《面向对象程序设计 (Java)》第十七周学习总结

    内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/12 ...

  7. CSS 定位详解

    CSS 有两个最重要的基本属性,前端开发必须掌握:display 和 position position 属性的作用 position属性用来指定一个元素在网页上的位置,一共有5种定位方式,即posi ...

  8. hdu 6052 To my boyfriend

    题目 OvO click here http://acm.hdu.edu.cn/showproblem.php?pid=6052 (2017 Multi-University Training Con ...

  9. The Semantics of Constructors: The Default Constructor (默认构造函数什么时候会被创建出来)

    本文是 Inside The C++ Object Model, Chapter 2的部分读书笔记. C++ Annotated Reference Manual中明确告诉我们: default co ...

  10. Game HDU - 5242 树链思想

    GameHDU - 5242 题目大意:一个游戏有n个场景形成了棵有根树,根节点是1,每个场景都有它的权值.然后一个人可以选择其中K个分支来走,而每个场景的权重只算一遍,问最大的权值和. 一开始想叉了 ...