其实是想到什么就是学什么啦。(又跑到骨骼动画什么鬼)。。。@H_404_1@
@H_404_1@
骨骼动画用的是spine 的样例了。spineboy 有两个动作 jump 和 walk。@H_404_1@
在export的时候格式选择json而且勾选Create atlas。 (安装路径,导入路径,导出路径不能有中文)@H_404_1@
@H_404_1@
然后复制这三个文件 json,atlas,png 到资源下面。@H_404_1@
@H_404_1@
auto sap = new SkeletonAnimation("spineboy.json","spineboy.atlas");
报错。如图。@H_404_1@
貌似中文站的用法介绍还是3.0,而我正在使用的版本是3.4。
@H_404_1@
@H_404_1@
然后查看了 SkeletonAnimation.h 的源码。@H_404_1@
在83 行。@H_404_1@
@H_404_1@
源码:@H_404_1@
难道是因为protected?没搞懂。。。@H_404_1@
@H_404_1@
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 缩放)
成功!@H_404_1@
@H_404_1@
需要@H_404_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);
@H_404_1@
动作之间衔接不自然的时候就需要用到@H_404_1@
void setMix(const char *fromAnimation,const char *toAnimation,float duration);动画混合的功能,使动作衔接自然。 原文链接:https://www.f2er.com/cocos2dx/344330.html