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下周期性查看GPU状态

    Linux下周期性查看GPU状态 NVIDIA自带了nvidia-smi命令来查看GPU的使用情况 了解一下watch命令 $ whatis watch watch (1) - execute a p ...

  2. 最简单之安装hive

    一,安装模式介绍 Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景. a.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错) b.本地模式(本地安 ...

  3. HDU - 6223 Infinite Fraction Path (倍增+后缀数组)

    题意:给定一个长度为n(n<=150000)的字符串,每个下标i与(i*i+1)%n连边,求从任意下标出发走n步能走出的字典序最大的字符串. 把下标看成结点,由于每个结点有唯一的后继,因此形成的 ...

  4. python面向对象基础(三)内置方法 __xx__

    __str__和__repr__,__format__ 改变对象的字符串显示__str__,__repr__ 自定制格式化字符串__format__ #_*_coding:utf-8_*_ forma ...

  5. php类知识---最疯狂的魔术方法serialize,_sleep,__wakeup,unserialize,__autoload,__clone

    serialize-----把实例化的对象写入文件 __sleep 调用serialize时触发 <?php class mycoach { public function __construc ...

  6. webpack编译sass报错找不到module /css-loader/index.js... || 安装node-sass报错

    今天无论在家还是在公司,安装node-sass总是失败,或安装成功了,使用webpack编译sass报错,说找不到module,按照提示的错误我找了node_modules下的css-loader,发 ...

  7. react-native-swiper的Github地址

    https://github.com/liyinglihuannan/react-native-swiper https://www.jianshu.com/p/4dba338ef37a(中文版

  8. C Vus the Cossack and Strings ( 异或 思维)

    题意 : 给你两个只包含 0 和 1 的字符串 a, b,定义函数 f ( A, B ) 为 字符串A和字符串B 比较 存在多少个位置 i 使得 A[ i ] != B[ i ] ,例如 f(0011 ...

  9. Linux安装—IP设置

    IP设置 务必不要把Linux的IP设置为和我们的真实机位于同一网段(这可能会跟其他机器造成冲突) 具体操作是:在安装虚拟机时Network Type设置选择:Use Host-Only networ ...

  10. AcWing:165. 小猫爬山(dfs + 剪枝)

    翰翰和达达饲养了N只小猫,这天,小猫们要去爬山. 经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<). 翰翰和达达只好花钱让它们坐索道下山. 索道上的缆 ...