Cocos Studio介绍Cocos Studio是一套基于Cocos2D-x的免费游戏开发工具集,它能帮助开发者快速创建游戏资源,将大部分繁琐的游戏开发工作使用编辑器来快速制作,进一步帮助游戏开发者减短开发周期、提高开发效率。Cocos Studio本身不光只是针对[size=1em]骨骼动画的编辑而设计的,它还提供了UI、场景和数据等信息的编辑工作。就当前的Cocos Studio而言,主要分两种,一种是Win版本的Cocos Studio,另一个则是刚刚发布不久的Mac版 Cocos Studio v1.0 alpha1。前者由UI编辑器、动画编辑器、场景编辑器和数据编辑器四部分组成,分别用于处理游戏中的UI界面、动画资源、游戏场景和游戏数据。而Mac版的Cocos Studio整合了原有的UI和动画编辑器,使小伙伴们的使用更加自由。但由于Mac版的编辑器现在还不稳定,所以本文将介绍Win版本的Cocos Studio。Win版Cocos Studio的动画编辑器支持关键帧动画,序列帧动画,[size=1em]骨骼动画等多种动画编辑方式。并且它还支持碎图导出,整图导出等多种资源优化方式。同时动画编辑器支持对Flash,PSD,Plist资源的解析。创建[size=1em]骨骼动画首先,打开Cocos Studio 的 Animation Editor(动画编辑器),新建一个动画工程。
同Spine一样,Cocos Studio动画编辑器也有两种模式,但这里是形体模式和动画模式。用户需要在形体模式下组装角色部件,并为其绑定骨骼;并在动画模式下调整骨骼相应属性生成[size=1em]骨骼动画。下面我们先来对编辑器整体做一个认识,见下图。形体模式下:
动画模式下:
在形体模式下,选择 文件->导入资源 或在资源栏中右键选择需要导入的资源文件,也可直接将资源拷入工程的Resources文件夹目录下,然后刷新资源面板。
将资源拖到渲染区,并摆好位置。
开始创建骨骼:选中快捷菜单栏中创建骨骼的按钮,在角色身体的各部位单击左键并拖动鼠标画出骨骼。
将资源素材与骨骼绑定,右击渲染区的资源素材,选择“绑定到骨骼”,然后选择骨骼(选择的骨骼会高亮显示),就可以实现骨骼的绑定。
当绑定好所有素材和骨骼后,右击骨骼选择“绑定父关系”,再选择该骨骼的父骨骼(选择的骨骼同样会高亮显示),这样依次根据身体部位的“父子”层级关系设定好。
切换到动画模式,选中相应控件,移动鼠标到动画帧一栏的某帧处,然后,改变被选择控件的某个属性,如旋转它,这样就能实现流畅的补间动画。
导出项目为程序可用的资源:导出的资源在工程目录的Export/..文件夹下,一共有三个资源文件,分别是 .ExportJson,.plist 和 .png文件。ExportJson文件中记录了骨骼动画的描述信息,plist文件则是记录碎图整合成大图后图片的位置描述信息,png文件是整合的大图。
在cocos2D-x 中加载动画资源前面我们花了很多精力来创建[size=1em]骨骼动画,然而要将它运行在实际的项目中却非常的简单,只需几行代码,当然在这之前我们需要将动画编辑器导出的资源复制到项目Resource目录中去。同样地,在Cocos2d-x程序中使用Cocos Studio动画首先需要包含相关头文件,如下:
[AppleScript]纯文本查看复制代码
1
2
|
using
namespace cocostudio;
|
创建一个[size=1em]骨骼动画对象,需要将动画文件和资源文件载入到程序。这里我们通过ArmatureManager动画数据管理器来加载动画。ArmatureManager本身是一个单例,它管理整个场景中的Armature。而Armature则封装了我们播放动画需要的Animation。由此可见,这是一个三层缔结的层次结构。其中ArmatureManager最大,然后是Armature,最后是Animation。
说完了原理,下面来看看代码。修改init函数,在return前加入如下代码:
[AppleScript]复制代码
2
3
4
5
6
|
ArmatureDataManager
:
:
getInstance
(
)
-
>
addArmatureFileInfo
(
"NewAnimation0.png"
,
"NewAnimation0.plist"
"NewAnimation.ExportJson"
)
;
Armature
*
armature
=
Armature
create
"NewAnimation"
;
armature
setPosition
(
Point
visibleSize.width
*
0.5
visibleSize.height
)
;
/
/
播放动画
getAnimation
play
"walk"
;
this
addChild
armature
;
|
:
我们在动画编辑器中编辑的动作就是Animation,一个动画工程中可以编辑多个动作,也就是动作列表中可创建多个动作。如下图所示:
所以播放动画需要根据具体地需要来播放,这样才能知道用户要播放的动画是哪一个。可以像上面代码一样指定动画名来播放动画,也可以通过指定动作编号来播放动画,如下:
[AppleScript] 1