Cocos2d-x 3.x 练习 2 骨骼动画

其实是想到什么就是学什么啦。(又跑到骨骼动画什么鬼)。。。

PS:学习历程啦,可能会有很多错误。

骨骼动画用的是spine 的样例了。spineboy 有两个动作 jump 和 walk。

在export的时候格式选择json而且勾选Create atlas。 (安装路径,导入路径,导出路径不能有中文)

然后复制这三个文件 json,atlas,png 到资源下面。

使用官网的用法

auto sap = new SkeletonAnimation("spineboy.json","spineboy.atlas");

报错。如图。

貌似中文站的用法介绍还是3.0,而我正在使用的版本是3.4。

然后查看了 SkeletonAnimation.h 的源码。

在83 行。

源码:

难道是因为protected?没搞懂。。。

看了下源码发现前面还有这几种创建方法。

public:
	static SkeletonAnimation* createWithData (spSkeletonData* skeletonData);
	static SkeletonAnimation* createWithFile (const std::string& skeletonDataFile, spAtlas* atlas, float scale = 1);
	static SkeletonAnimation* createWithFile (const std::string& skeletonDataFile, const std::string& atlasFile, float scale = 1);

就用了第三种 (scale=1 缩放)

成功!

需要

#include <spine/spine-cocos2dx.h>
#include "spine/spine.h"
using namespace spine;
	auto sap = SkeletonAnimation::createWithFile("spineboy.json","spineboy.atlas");
	sap->addAnimation(0,"walk",true);
	//sap->addAnimation(0,"jump",false);
	Size Winsize=Director::getInstance()->getWinSize();
	sap->setPosition(Vec2(Winsize.width/2,Winsize.height/4));
	this->addChild(sap);

动作之间衔接不自然的时候就需要用到

void setMix(const char *fromAnimation,const char *toAnimation,float duration); 

动画混合的功能,使动作衔接自然。

时间: 2024-08-27 22:31:09

Cocos2d-x 3.x 练习 2 骨骼动画的相关文章

初尝2D骨骼动画编辑工具SPINE

一.SPINE使用 研究2D骨骼动画,CYou的朋友介绍我SPINE这个工具,开发自EsotericSoftware的一款专门制作2D动画的软件,网络上的资料还很少,我这从半吊子美术技术的角度简单说一下使用教程. 有几个不错的地方: 1.美术制作前准备的贴图为一堆小切片图.不用非得拼成一张atlas,spine会做这一步,详见步骤七, 导出数据时会动态的将切片合并到同一个到N个atlas中,合并的策略会考虑我们设置的atlas的尺寸. 2.方便换装和BODYPART: SPINE的数据结构中包括

cocos2dx骨骼动画Armature源码分析(三)

代码目录结构 cocos2dx里骨骼动画代码在cocos -> editor-support -> cocostudio文件夹中,win下通过筛选器,文件结构如下.(mac下没有分,是整个一坨) armature(目录): animation(目录):动画控制相关. CCProcessBase(文件): ProcessBase(类):CCTween和ArmatureAnimation的基类. CCTWeen(文件): Tween(类):控制flash里一个layer的动画. CCArmatur

Unity3d的2D骨骼动画插件Puppet2D的使用1

大家好,我是孙广东.   转载请注明出处:http://blog.csdn.net/u010019717 更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/forum.php?mod=guide&view=my 开发Cocos2d的程序员都知道,Cocostudio其中一个动画编辑组件中的.骨骼动画对于游戏开发的性能上是很好的,有些时候和序列帧动画相比. 强大的unity3d虽然也可以开发2D游戏,可以序列帧实现动画. 还是没有2d的骨骼动画编辑功能. 最近开

初尝2D骨骼动画编辑工具SPINE,并into Unity3D

一.SPINE使用 研究2D骨骼动画,CYou的朋友介绍我SPINE这个工具,开发自Esoteric Software的一款专门制作2D动画的软件,网络上的资料还很少,我这从半吊子美术技术的角度简单说一下使用教程. 有几个不错的地方: 1.美术制作前准备的贴图为一堆小切片图.不用非得拼成一张atlas,spine会做这一步,详见步骤七, 导出数据时会动态的将切片合并到同一个到N个atlas中,合并的策略会考虑我们设置的atlas的尺寸. 2.方便换装和BODYPART: SPINE的数据结构中包

cocos2dx - v2.3.3编辑器骨骼动画

接上一节内容:cocos2dx - v2.3.3编辑器简单使用及不同分辨率适配 本节主要Cocos骨骼动画的创建及使用 一.新建 用Cocos Studio工具新建一个状态栏项目.如下图: 当然也可以新建一个空的Cocos项目,然后在 文件->新建文件 中选择骨骼动画来创建新的骨骼动画,如下图 因为这里只讲简单用法,着重使用,所有直接创建英雄示例动画. 二.添加动画 选择动画模式,并点击如下播放按钮,可以看到现在默认的动画. 示例中只有ALL动画,我们需要将每个动画按起始结束帧率分开,添加如下动

cocos2dx 2.2.1 骨骼动画使用

使用骨骼动画: // 加载资源文件 png 图片,plist 文件和 ExportJson 动画文件,一般而言可以在场景运行之初加载此资源 CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("resTest/Hero/Hero.ExportJson"); CCArmature* _pArrmature = CCArmature::create("Hero"); _pA

cocos2dx加载骨骼动画

2015/05/13 需求: (1)希望在骨骼上绑定一个粒子特效 (2)获取骨骼的位置 (3)获取骨骼动画的大小 (4)lua 1. cocostudio动画编辑器 (1)绑定粒子特效(跟随骨骼的移动移动) local boneNew = ccs.Bone:create("particle") boneNew:addDisplay(particle, 0) --设置是否跟随骨骼一起移动 boneNew:setIgnoreMovementBoneData(true) --显示骨骼上绑定的

cocos2d-x 3.0 版本 骨骼动画设置shader

因为骨骼动画是由多个sprite组成, 所以需要遍历每个sprite 才能修改整体, 开头这样设置,在游戏中发现走路状态没问题,攻击状态就有部分sprite没效果 for (auto & object : armObj->getBoneDic()) { if (cocostudio::Bone *bone = dynamic_cast<cocostudio::Bone *>(object.second)) { Node *node = bone->getDisplayRen

Cocos2d-js 开发记录:骨骼动画载入

不得不说cocos2d-js的文档实在是少,骨骼动画的载入和C++版本的好像还有些不同不能直接依样画葫芦. 一个由cocos studio编辑生成的骨骼动画一般会包含如下几个文件: .ExportJson文件 .plist文件 .png文件 ExportJson文件包含了骨骼动画的动作和所要用到的资源的名称,plist文件负责切分png图片的各个区域形成逻辑上的一张张图片,其实是把要用的图片打包的单个png文件中,然后把原来的文件名称和区域信息记录到plist中.ExportJson中包含了对p

骨骼动画

http://dragonbones.github.io/getting_started_cn.html http://www.gameres.com/forum.php?mod=viewthread&tid=251093 公司新项目,打算用Spine来做动画.有用Spine做项目的朋友吗?一起来交流下经验.这里有些 Spine 的教程和资料,分享给大家.百度盘: http://pan.baidu.com/s/1ntiBY2X<ignore_js_op> <ignore_js_o