本随笔记录TextureMerger来制作动画,并在Egret中使用。

参考官网教程:http://bbs.egret.com/forum.php?mod=viewthread&tid=918&highlight=texturemerger

http://developer.egret.com/cn/github/egret-docs/tools/TextureMerger/manual/index.html

MovieClip主要是用于游戏中的动画制作和播放。支持swf、gif、序列图等。

目录:

一 swf制作MovieClip

二 gif制作MoveliClip

三 序列图制作MovieClip

 一 swf制作MovieClip

1 打开TextureMerger,选择Egret MovieClip

2 Egret MovieClip制作界面说明

新建项目:新建一个Egret MovieClip项目

打开项目:打开一个.tmc文件

保存项目:项目会保存为一个后缀为.tmc的文件

创建动画:在当前项目下创建一个动画,通常用于自定义动画使用,比如使用多张序列图制作动画,并自定义动作action。

创建转换动画:直接使用gif或swf创建动画

导出:将动画导出为json+png,以备在egret中加载使用

附加拓展名:这里无效,对movieClip无效的

布局:图片的摆放位置布局 (这里选择布局后,可直观的在右边看到图片是怎么摆放的)

画布:Power2合适的2的幂的尺寸,FreeSize合适的自由尺寸。百度为什么需要2的N次幂。

间隙:图片与图片之间的间隙。感觉没什么大用,就是图片分得开点,好辨认...

3 新建项目,取名为walk

4 用Flash制作swf(不会Flash?那帮不了你)

我这里用Flash制作了一个loli行走的动画。分别为正面行走和向右行走,并增加标签"front"和"right"。导出swf为walk.swf。

PS:Flash的动画必须在主舞台的时间轴制作。如果制作在影片剪辑里再放到舞台,那么TextureMerger无法使用,只会导出一帧。

5 创建转换动画

可以使用swf或gif,我们这里仅用swf测试。

这里有个bug,拖动swf到下图指定区域无效...

选择walk.swf,导入后,可以看到有了一个名为walk的动画,该动画有2个action,分别是"front"和"right"。

可以选择"front"后的按钮预览动画效果。

 6 导出movieclip

选择导出

选择缩放比例

选择保存位置,保存为walk

最终导出了一个walk.json和walk.png文件

7 将json和png放到egret资源目录下

8 在代码中使用MovieClip

官网使用代码示例

首先加载walk_json和walk_png到影片剪辑工厂

然后生成一个walk影片剪辑

最后将影片剪辑添加到舞台,并且循环播放right动作

运行效果

二 Gif制作MovieClip

和swf同理。

三 序列图制作MovieClip

序列图4张如下  (如果是一整张的序列图,此方法无效)

1 选择创建动画

命名动画为walk,24帧

2 walk动画上右键,选择添加动作

动画名为walk_front

3 动作walk_front上右键,选择添加帧

选择刚才的4张序列图添加进去

动作添加完毕

后面的导出和使用流程同swf,就不再赘述了。

TextureMerger1.6.6 一:Egret MovieClip的制作和使用的更多相关文章

  1. 【咸鱼教程】TextureMerger1.6.6 一:Egret MovieClip的制作和使用

    几个月没写代码了.然后突然用到TextureMerger,发现不会用序列图做动画了... 于是写下过程,以防忘记... MovieClip主要是用于游戏中的动画制作和播放.支持swf.gif.序列图等 ...

  2. Egret游戏大厅制作思路

    Egret游戏大厅制作思路 Egret中,写好的代码最终都被打包到main.js里面,只有库文件会单独生成出来,按需加载. 游戏中有需求,要将一些游戏(或者模块)进行外包,然后从主游戏大厅中进入,那么 ...

  3. Egret引擎随学随机

    1.纹理集实际上就是将一些零碎的小图放到一张大图当中.游戏中也经常使用到纹理集.使用纹理集的好处很多,我们通过将大量的图片拼合为一张图片从而减少网络请求,原先加载数次的图片资源现在加载一次即可.同时, ...

  4. egret 添加帧动画

    private showEffect(): void { //加载本地的帧动画资源 RES.getResByUrlNoCache("resource/assets/shenqi_eff.js ...

  5. egret之moveclip 序列帧动画

    废话不多说,直接上代码: private addEffect(name, x: number, y: number, act?: string) { let data = RES.getRes(nam ...

  6. TextureMerger使用教程

    https://bbs.egret.com/thread-1653-1-1.html TextureMerger使用教程 2014-10-28 15:53 1862932 本帖最后由 E-Tool君 ...

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

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

  8. Egret第三方库的制作和使用(模块化 第三方库)

    一.第三方库的制作 官方教程:第三方库的使用方法 水友帖子:新版本第三方库制作细节5.1.x 首先在任意需要创建第三方库的地方,右键,选择"在此处打开命令窗口" 输入egret c ...

  9. TextureMerger1.6.6 三:Bitmap Font的制作和使用

    BitmapFont主要用于特殊字体在游戏中的使用. 比如我想使用方正剪纸字体,但是没加载方正剪纸.ttf字体时,egret是没法使用这种字体的. 或者美工制作了效果拔群的0123456789数字字体 ...

随机推荐

  1. [Django学习]模型

    ORM简介 MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库 ORM是“对象-关系-映射”的简称 ...

  2. 字符串移位:如“abcdefghi”右移2位后变成“cdefghiab”

    函数头: //pStr 是指向以'\0'结尾的字符串指针 //steps 是要求移动的步数 void LoopMove(char *pStr, int steps) { //...... } 使用库函 ...

  3. 〖wordpress实用小技巧〗添加几个字符实现子目录访问转移到域名直接访问

    http://www.henghengzhu.com/share/127.html —————————————————————————————————————————————————————————— ...

  4. Spring下获取项目根路径--good

    Spring 在 org.springframework.web.util 包中提供了几个特殊用途的 Servlet 监听器,正确地使用它们可以完成一些特定需求的功能.比如某些第三方工具支持通过 ${ ...

  5. 重点:怎样正确的使用QThread类(注:包括推荐使用QThread线程的新方法QObject::moveToThread)

    背景描述: 以前,继承 QThread 重新实现 run() 函数是使用 QThread唯一推荐的使用方法.这是相当直观和易于使用的.但是在工作线程中使用槽机制和Qt事件循环时,一些用户使用错了.Qt ...

  6. Flume1.5.0入门:安装、部署、及flume的案例

    转自:http://www.aboutyun.com/thread-8917-1-1.html 问题导读1.什么是flume2.flume的官方网站在哪里?3.flume有哪些术语?4.如何配置flu ...

  7. android 内存管理机制、异常、垃圾回收

    当 Android 应用程序退出时,并不清理其所占用的内存,Linux 内核进程也相应的继续存在,所谓“退出但不关闭”.从而使得用户调用程序时能够在第一时间得到响应. 当系统内存不足时,系统将激活内存 ...

  8. openal 基础知识2

    三枚举扩展包(enumeration extension,“ALC_ENUMERATION_EXT”) 开发者可以通过这个extension得到一个字符串列表,区分不同的渲染/捕捉设备.OpenALr ...

  9. 记录下自己常用的全框架HTML代码

    纯粹记录下,没有任何意义. 也不推荐使用 <frameset rows="> <frame src=" name="topFrame" scr ...

  10. phpcms二级栏目的调用

    1.二级栏目的调用方法 {php $data = subcat($module, $catid);} {loop $data $n $r} {if $r[ismenu]} {$r[catname]} ...