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. PHP提取富文本字符串中的纯文本,并进行进行截取

    this is my first markdown article,i hope you like it /** * 提取富文本字符串的纯文本,并进行截取; * @param $string 需要进行 ...

  2. Python3.8新特性-- 海象操作符

    “理论联系实惠,密切联系领导,表扬和自我表扬”——我就是老司机,曾经写文章教各位怎么打拼职场的老司机. 不记得没关系,只需要知道:有这么一位老司机, 穿上西装带大家打拼职场! 操起键盘带大家打磨技术! ...

  3. [AWS - EC2] 如何向 Amazon Linux 2 实例传输文件,下载文件。How to send/ download files from Amazon Linux 2 Instance

    1. 需要: 安装 WinSCP 2. 需要: PuTTY 生成的ppk格式密钥, 没有的话请移步此文章,完成1, 2, 3步即可. 3. 打开 WinSCP , 如果提示已经有PuTTY配置是否导入 ...

  4. 白话跨域CORS

    跨域访问控制是浏览器和服务器按照约定,协同工作,守护安全的一种机制. 其中认为浏览器和服务器是安全的,但是浏览器上运行的页面(HTML+JS)可能不安全. 分几种不同方式. 页面跨域简单请求(Get/ ...

  5. 关于GRPC的讲解

    gRPC服务发现&负载均衡 https://segmentfault.com/a/1190000008672912?utm_source=tag-newest GRPC编程指南 gRPC 介绍 ...

  6. HttpServletResponse 返回的json数据不是json字符串,而是json对象

    今天在改一个bug 情况: 在spring boot中写了一个类Result ,用来统一封装 各个API响应结果 , 其中重写了toString()方法来返回 json字符串 . 在正常情况下,从其它 ...

  7. ESP8266乐鑫版本的(支持云端升级 (Boot 模式)烧写方法,(V1.5.4官方介绍如下)(BOOT模式)

    硬件平台: nodeMCU devkit核心板,带ch340g,应该是仿造的,官方是cp2102驱动,安信可科技有连接https://wiki.ai-thinker.com/esp8266/board ...

  8. nginx跨站访问,防盗链

    跨站访问 从网站A利用AJAX跨站访问网站B 浏览器会根据服务端返回的头部信息(Access-Control-Allow-Origin)判断是否允许跨域访问.如果服务端都允许跨站访问,浏览器段也就没必 ...

  9. django查询优化及ajax编码格式下发送数据 总结

    orm查询优化 1)only与refer ​ only方法返回的是一个queryset对象,本质就是列表套数据对象 ​ 该对象内只含有only括号所指定的属性(其他属性也可以获取,但是需要重新走数据库 ...

  10. 炫酷CSS3垂直时间轴特效

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...