不得不说cocos2d-js的文档实在是少,骨骼动画的载入和C++版本的好像还有些不同不能直接依样画葫芦。

一个由cocos studio编辑生成的骨骼动画一般会包含如下几个文件:

  • .ExportJson文件
  • .plist文件
  • .png文件

ExportJson文件包含了骨骼动画的动作和所要用到的资源的名称,plist文件负责切分png图片的各个区域形成逻辑上的一张张图片,其实是把要用的图片打包的单个png文件中,然后把原来的文件名称和区域信息记录到plist中。ExportJson中包含了对plist文件的名称的描述体现在其config_file_path字段。那么照理来说导入骨骼动画只要显式加载一个ExportJson文件就行了剩下的让引擎去做吧?可惜不是这样,如果不在resource中指定骨骼动画配套的plist那么在加载骨骼动画的时候就会报错。下面记录一个骨骼动画使用的过程:

0. 修改项目配置文件添加extension模块

"modules" : ["cocos2d", "extensions"],

使用cocos studio工具生成的资源大部分都要把extensions模块也加入到项目中来,这些模块处于ccs命名空间中

1. 向resource.js文件添加骨骼动画资源描述

    wolf_animation: "res/monster/wolf/wolf.ExportJson",
wolf_plist: "res/monster/wolf/wolf0.plist"

注意ExportJson和对应plist文件都要在这里写出

2. 加载骨骼动画资源

        var size = cc.winSize;
var scale = 0.5; ccs.armatureDataManager.addArmatureFileInfo(res.wolf_animation); var wolfAnimation = new ccs.Armature("wolf");
wolfAnimation.setScale(scale);
wolfAnimation.setPosition(size.width / 2 + 150, size.height / 2);
wolfAnimation.animation.play("Animation1");
this.addChild(wolfAnimation);

这里addArmatureFileInfo是一个同步过程有对应的异步版本,要用骨骼动画前需要执行一次这个方法,它会读入骨骼动画数据并把要用到的资源缓存起来。这样执行多次

new ccs.Armature("wolf");

其实不要再执行addArmatureFileInfo了。new ccs.Armature()中的参数要和骨骼动画项目中ExportJson指定的名称一致即其armature_data.name

Cocos2d-js 开发记录:骨骼动画载入的更多相关文章

  1. three.js之初探骨骼动画

    今后的几篇郭先生主要说说three.js骨骼动画.three.js骨骼动画十分有意思,但是对于初学者来说,学起来要稍微困难一些,官方文档比较少,网上除了用圆柱体的例子就是引用外部模型的,想要熟练使用骨 ...

  2. Cocos2d-js 开发记录:Loading载入界面自定义

    Loading界面是一个cc.Scene具体请看: http://blog.csdn.net/jonahzheng/article/details/38348255 如果仅仅是想把图片(cocos l ...

  3. 基于babylon3D模型研究3D骨骼动画(1)

    3D骨骼动画是实现较为复杂3D场景的重要技术,Babylon.js引擎内置了对骨骼动画的支持,但Babylon.js使用的骨骼动画的模型多是从3DsMax.Blender等3D建模工具转换而来,骨骼动 ...

  4. cocos2d-x开发记录:二,基本概念(骨骼动画)

    九,骨骼动画 1.骨骼动画vs Sprite sheets 你能使用sprite sheets 创建动画,它很快又容易.直到你意识到你的游戏需要大量的动画并且内存消耗越来越高,并且需要时间载入全部数据 ...

  5. 基于Babylon.js编写简单的骨骼动画生成器

    使用骨骼动画技术可以将网格的顶点分配给若干骨头,通过给骨头设定关键帧和父子关系,可以赋予网格高度动态并具有传递性的变形 效果.这里结合之前的相关研究在网页端使用JavaScript实现了一个简单的骨骼 ...

  6. 记录 Spine骨骼动画导入unity 步骤[unity3d 4.6.6版本 2d动画]

    1:准备好unity使用Spine所需要的运行库,可到如下地址 https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine ...

  7. three.js 自制骨骼动画(二)

    上一篇说了一下自制骨骼动画,这一篇郭先生使用帧动画让骨骼动画动起来.帧动画是一套比较完善的动画剪辑方法,详细我的api我们就不多说了,网上有很多例子,自行查找学习.在线案例请点击博客原文.话不多说先上 ...

  8. 关于Cocos Creator用js脚本代码播放骨骼动画的步骤和注意事项

    步骤: 1.用cc.find()方法找到相应的骨骼动画节点,并把这个对象赋值给一个var出来的新对象. 具体代码:var spineboy_anim = cc.find("UI_Root/a ...

  9. three.js 自制骨骼动画(一)

    上一篇郭先生解析了一下官方的骨骼动画案例,这篇郭先生就要做一个稍微复杂一点的骨骼动画了,就拿一个小人下手吧.在线案例请点击博客原文.话不多说先上大图 骨骼动画在GUI上面都有体现.制作骨骼动画的步骤在 ...

随机推荐

  1. 4,临界区 之 synchronized

    前提背景:多个并发线程共享同一个资源时,为防止这些共享资源可能出现的错误或数据不一致问题,提出了临界区的概念 临界区: 指一个用以访问共享资源的代码块,这个代码块在同一时间内只能允许一个线程访问 实现 ...

  2. 使用 echart的jar包,传递到前台报 null错误

    表现:后台创建 Option的JsonObjject传递到前台之后,失败,F12控制台报错:无法定义null的属性xxx 原因:使用jar包里面的对象分装没有默认值,而我们自己使用时只是对需要的对象进 ...

  3. ResourceBundle和Locale

    一.认识国际化资源文件   这个类提供软件国际化的捷径.通过此类,可以使您所编写的程序可以:          轻松地本地化或翻译成不同的语言          一次处理多个语言环境          ...

  4. 关于OC中的block自己的一些理解(二)

    一.block延伸:页面间反向传值 1)first页面的代码 - (void)viewDidLoad { [super viewDidLoad]; [self setupBtn]; self.view ...

  5. npm淘宝镜像和默认镜像切换

    1.得到原本的镜像地址 npm get registry > https://registry.npmjs.org/ 设成淘宝的 npm config set registry http://r ...

  6. 玩转MongoDB

    一.主从复制 1)首先主从服务器在启动的时候,分别要设置master.slave选项,对于slave可以启动中设置源,也可以在启动后设置源. 如:主:mongod --dbpath=/data/mon ...

  7. 使用Git如何优雅的忽略掉一些不必的文件

    熟悉使用Git之后发现,使用sourceTree来管理和开发项目会变得更高效,现在我用bitbucket管理自己的项目,它提供了私有的仓库,用起来还是比较爽,不过刚开始用的时候,只要一打开本地仓库的工 ...

  8. C#集合之位数组

    如果需要处理的数字有许多位,就可以使用BitArray类和BitVector32结构.BitArray类位于System.Collection,BitVector32结构位于System.Collec ...

  9. ZOJ - 3649 树上倍增

    题意:给出一个图,先求出最大生成树,然后多次询问树上路径\(u→v\)的有向最大极差\(max(a_i-a_j),i>j\),其中\(i\)和\(j\)指代节点在路径中出现的顺序 极差具有单调性 ...

  10. Codeforces - 规律题 [占坑]

    发现自己容易被卡水题,需要强行苟一下规律题 CF上并没有对应的tag,所以本题集大部分对应百毒搜索按顺序刷 本题集侧重于找规律的过程(不然做这些垃圾题有什么用) Codeforces - 1008C ...