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]骨骼动画。下面我们先来对编辑器整体做一个认识,见下图。形体模式下:

aimg_55807" src="http://img.jb51.cc/vcimg/static/loading.png" width="400" height="300" alt="094615chgingfgaafafgag.jpg.thumb.jpg" src="http://www.unitymanual.com/data/attachment/forum/201410/28/094615chgingfgaafafgag.jpg.thumb.jpg">


动画模式下:

aimg_55808" src="http://img.jb51.cc/vcimg/static/loading.png" width="400" height="300" alt="094615urbava22skvm2bqb.jpg.thumb.jpg" src="http://www.unitymanual.com/data/attachment/forum/201410/28/094615urbava22skvm2bqb.jpg.thumb.jpg">

上面两图中,标记为1的部分是渲染区域,也就是我们的画布,它是资源布局的主编辑区,在该区域可以对各对象进行移动,缩放,旋转的操作,所有主要的操作结果都会在这个区域中显示完成。第2部分是快捷菜单栏,该窗口中有一些常用操作,其中包括模式的切换,创建骨骼,缩放,旋转等等一系列操作。第3部分是资源栏,本项目中使用的所有资源都必须导入到该面板才可以使用。第4部分是预览区域,当选中资源栏的资源时,会在该区域中显示,达到预览的作用。第5部分是对象结构栏,编辑器将根据对象结构栏中对象的顺序依次渲染对象,在最下层的对象将先于渲染,也就是说它可能会被后渲染的对象遮盖。另外,对象的顺序在该栏中是可调的。第6部分是属性栏,当选中一个对象时,属性窗口会显示出该对象的所有属性。修改任意属性都可以立即改变该节点在渲染区域的状态。第7部分是动作列表栏,一个动画工程是允许有多个动作的,比如:行走、跳跃、奔跑等等。所以在该栏中用户可以创建多个动作,并在多个动作中切换。第8部分是动画帧面板,该面板将显示画布中所有对象的序列帧,用户可通过添加帧和改变对象属性创建动画序列帧。对编辑器有了大致的了解后,现在就可以开始编辑动画了。
  • 在形体模式下,选择 文件->导入资源 或在资源栏中右键选择需要导入的资源文件,也可直接将资源拷入工程的Resources文件夹目录下,然后刷新资源面板。

  • 将资源拖到渲染区,并摆好位置。

  • 开始创建骨骼:选中快捷菜单栏中创建骨骼的按钮,在角色身体的各部位单击左键并拖动鼠标画出骨骼。

  • 将资源素材与骨骼绑定,右击渲染区的资源素材,选择“绑定到骨骼”,然后选择骨骼(选择的骨骼会高亮显示),就可以实现骨骼的绑定。


  • aimg_55809" src="http://img.jb51.cc/vcimg/static/loading.png" alt="094616phya299m2k5xycl9.jpg.thumb.jpg" src="http://www.unitymanual.com/data/attachment/forum/201410/28/094616phya299m2k5xycl9.jpg.thumb.jpg">

    aimg_55810" src="http://img.jb51.cc/vcimg/static/loading.png" alt="094616it3rjdj74t2hsakj.jpg.thumb.jpg" src="http://www.unitymanual.com/data/attachment/forum/201410/28/094616it3rjdj74t2hsakj.jpg.thumb.jpg">


  • 当绑定好所有素材和骨骼后,右击骨骼选择“绑定父关系”,再选择该骨骼的父骨骼(选择的骨骼同样会高亮显示),这样依次根据身体部位的“父子”层级关系设定好。

  • 切换到动画模式,选中相应控件,移动鼠标到动画帧一栏的某帧处,然后,改变被选择控件的某个属性,如旋转它,这样就能实现流畅的补间动画。

  • 导出项目为程序可用的资源:导出的资源在工程目录的Export/..文件夹下,一共有三个资源文件,分别是 .ExportJson,.plist 和 .png文件。ExportJson文件中记录了骨骼动画的描述信息,plist文件则是记录碎图整合成大图后图片的位置描述信息,png文件是整合的大图。

cocos2D-x 中加载动画资源前面我们花了很多精力来创建[size=1em]骨骼动画,然而要将它运行在实际的项目中却非常的简单,只需几行代码,当然在这之前我们需要将动画编辑器导出的资源复制到项目Resource目录中去。同样地,在Cocos2d-x程序中使用Cocos Studio动画首先需要包含相关头文件,如下:

[AppleScript]纯文本查看复制代码

?

1
2
#include "cocostudio/CocoStudio.h"
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 ;


aimg_55813" src="http://img.jb51.cc/vcimg/static/loading.png" alt="094738hr2rrhrrs62zsheh.png.thumb.jpg" src="http://www.unitymanual.com/data/attachment/forum/201410/28/094738hr2rrhrrs62zsheh.png.thumb.jpg">

我们在动画编辑器中编辑的动作就是Animation,一个动画工程中可以编辑多个动作,也就是动作列表中可创建多个动作。如下图所示:


aimg_55814" src="http://img.jb51.cc/vcimg/static/loading.png" alt="094738ev0v8y4dqrj9llls.jpg.thumb.jpg" src="http://www.unitymanual.com/data/attachment/forum/201410/28/094738ev0v8y4dqrj9llls.jpg.thumb.jpg">


所以播放动画需要根据具体地需要来播放,这样才能知道用户要播放的动画是哪一个。可以像上面代码一样指定动画名来播放动画,也可以通过指定动作编号来播放动画,如下:

[AppleScript] 1

Cocos Studio的动画系统介绍的更多相关文章

  1. Canvas实现贝赛尔曲线轨迹动画的示例代码

    这篇文章主要介绍了Canvas实现贝赛尔曲线轨迹动画的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. HTML5 直播疯狂点赞动画实现代码 附源码

    为了烘托直播间的氛围,直播相对于普通视频或者文本内容,点赞动作通常无限次,引导用户疯狂点赞,今天小编给大家分享HTML5 直播疯狂点赞动画实现代码 附源码,感兴趣的朋友一起看看吧

  3. CSS中实现动画效果-附案例

    这篇文章主要介绍了 CSS中实现动画效果并附上案例代码及实现效果,就是CSS动画样式处理,动画声明需要使用@keyframes name,后面的name是人为定义的动画名称,下面我们来看看文章的具体实现内容吧,需要的小伙伴可以参考一下

  4. 基于canvas的骨骼动画的示例代码

    这篇文章主要介绍了基于canvas的骨骼动画的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. html5如何在Canvas中实现自定义路径动画示例

    本篇文章主要介绍了html5如何在Canvas中实现自定义路径动画示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  6. 基于HTML5+Webkit实现树叶飘落动画

    本文给大家分享一段实例代码给大家介绍基于HTML5+Webkit实现树叶飘落动画效果,需要的朋友参考下吧

  7. Html5页面内使用JSON动画的实现

    这篇文章主要介绍了Html5页面内使用JSON动画的实现的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. html5实现图片转圈的动画效果——让页面动起来

    这篇文章主要介绍了html5实现图片转圈的动画效果——让页面动起来的相关资料,需要的朋友可以参考下

  9. html+js 实现markdown编辑器效果

    这篇文章主要介绍了html+js 实现markdown编辑器效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  10. 基于 HTML5 WebGL 实现的医疗物流系统

    物联网( IoT ),简单的理解就是物体之间通过互联网进行链接。这篇文章给大家介绍基于 HTML5 WebGL 实现的医疗物流系统,感兴趣的朋友跟随小编一起看看吧

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部