cocos2dx 使用spine制作骨骼动画

刚刚接触骨骼动画,所以写一篇文章记录.

1.首先先画好人物的每个部件:

哈哈,比较挫

我用的是spine1.7.03版本,比网上很多教程使用的版本都低,所以操作方法貌似有点不一样,也比较麻烦.

2.打开spine,加载每个部件的图片:

选择好路径后,spine会自动帮我们加载每张图.

3.在setup模式下摆放好位置

如果要改变叠放层序,需要在Draw_Order里拖拽先后顺序

这是已经绑定骨骼后的样子,下一步描述

4.绑定骨骼

第一根骨骼一般绑定在root节点,先点击"create",再点击下方的root节点(变成蓝色则说明成功),现在按住shift拖拽骨头,哪个部位显示白色边框就表示骨头是与这个部位绑定。

接下来的骨头每次创建都需要注意当前的父节点是哪个(即显示蓝色的骨头),如果不对则需要点击相应的骨头成为父节点。

绑定好之后可以点击“pose”移动一下骨头看看是否绑定正确。

5.制作动画

点击左上角setup变成animate模式

注意要想骨头按照你绑定的方式移动,必须先点击“pose”在移动骨头。然后不断的K动作

至于动作如何调,这里就不阐述了~

6.代码

	//添加动画
	auto walk_banana = SkeletonAnimation::createWithFile("skeleton.json", "bone.atlas");//加载
	walk_banana->addAnimation(0,"walk",true);//播放走路动画,“walk”是在spine保存动作的名字
	//walk_banana->setDebugBonesEnabled(true);//是否显示骨骼
	this->addChild(walk_banana);

非常简单,这样几步就能成功了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-09 19:00:34

cocos2dx 使用spine制作骨骼动画的相关文章

用Spine制作骨骼动画的步骤

1.打开spine 2.新建一个空项目 3.点右边Tree下的Images模块,导入在自己的切片素材和原整图. 4.把原整图拖到场景中,点右下角Color改变原图的颜色,方便后面对照 5.把切片素材一个一个拖到场景中,不用在意层级关系,先按照原整图的模板,一个一个贴上去就行了,如果大小不对,可以改变Scale的值来改变大小 6.接下来调节切片的层级关系,展开右边Tree的Draw Order模块,按照原整图的层级关系,进行拖动切片,使我们一个一个贴上去的图的整体效果和原整图的一样 7.然后是创建

Cocos2d-x 3.0 cocostudio骨骼动画的动态换肤

概述 游戏中人物的状态会发生改变,而这种改变通常要通过局部的变化来表现出来.比如获得一件装备后人物形象的改变,或者战斗中武器.防具的损坏等.这些变化的实现就要通过动态换肤来实现.在接下来的这个Demo中,点击屏幕会动态更换小人手中的武器.先上图: 制作动画 我这里使用cocostudio自带的动画工程,HeroAnimation,打开. 添加我们的资源 插入渲染资源 更多内容还请移步 http://www.sollyu.com/562/ Cocos2d-x 3.0 cocostudio骨骼动画的

cocos2dx 2.2.1 骨骼动画释放

2.2.1中骨骼动画释放不完全,需要更改源码进行手动释放,释放方法不能放在析构函数和onExit()函数中. 第一步修改源码:文件位置:extensions/CocoStudio/Armature/utils/CCDataReaderHelper.cpp: if (pAsyncStruct->imagePath != "" && pAsyncStruct->plistPath != ""){ pthread_mutex_lock(&

cocos2dx 2.2.1 骨骼动画使用

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

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

骨骼动画详解-Spine

游戏中人物的走动,跑动,攻击等动作是必不可少,实现它们的方法一般采用帧动画或者骨骼动画. 帧动画与骨骼动画的区别在于:帧动画的每一帧都是角色特定姿势的一个快照,动画的流畅性和平滑效果都取决于帧数的多少.而骨骼动画则是把角色的各部分身体部件图片绑定到一根根互相作用连接的"骨头"上,通过控制这些骨骼的位置.旋转方向和放大缩小而生成的动画. 它们需要的图片资源各不相同,如下分别是帧动画和骨骼动画所需的资源图: 骨骼动画比传统的逐帧动画要求更高的处理器性能,但同时它也具有更多的优势,比如: 更

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

flash中数据与xml中数据关系 上篇博文从总体上介绍了cocos2dx自带的骨骼动画,这篇介绍一下导出的配置数据各个字段的含义(也解释了DragonBone导出的xml数据每个字段的含义). skeleton节点 1 <skeleton name="Dragon" frameRate="24" version="2.2"> name:flash文件名字. frameRate:flash帧率. version:dragonbones

从Sprite3D理解3D骨骼动画原理

为了能够更好的使用cocos为我们提供的Sprite3D,我和大家分享一下Sprite3D中关于骨骼动画原理的部分,本文使用cocos2d-x 3.2版本,这是cocos首次出现3D骨骼动画的版本,相对与本文写出来时候最新的3.5版本,由于没有其他比如灯光等功能,3D骨骼动画模块读起来要更加的清晰.如果文章有纰漏或者错误的地方,也请大家指教. 目前引擎支持3种动画格式,分别是.obj,.c3b,.c3t,由于.obj没有骨骼,.c3b是二进制,而.c3t是json格式,所以本文就用官方test中

骨骼动画程序

最近有人问我怎样实现骨骼动画,于是我就想起了我以前写的这篇文章,贴上来给大家看看. 一.文章编写目的 写这篇文章,是给程序员看的.目的在于给程序员介绍骨骼动画的原理.数据结构和程序实现的粗略方法. 骨骼动画的应用面很多,主要用在3D角色动画,不过现在也很多人用于2D动画.下面的内容不会直接的把程序列出,只会阐述原理,关键的步骤是使用矩阵做坐标系变换.原理明白之后,不管2D或者3D应该都能自己编写. 二.什么是骨骼动画 传统的动画,一般是对一个物体对象进行位移.旋转.缩放.变形,然后把关键帧的信息