最近在研究骨骼动画,我想把我现阶段掌握的spine以及导入到cocos2dx中使用的方法分享一下,希望可以对大家有所帮助。

        Spine软件现在网络上也有免费的破解版本,对于你自己用来练习是足够了。

        我安装的是1.7.03版本。安装破解的教程网络上都是有的,所以我也不展开讲解了。安装破解完软件以后,你会发现他的软件里面有一些自带的图片切图和一些工程文件。如果没有的话,你也可以到cocos2dx的文件夹里面找一下,里面就有自带的导出文件,不过没有工程文件。

       

        好了废话不多说,先讲一下简单使用spine的界面。

spine基础以及骨骼动画的使用(1)-编程知识网

        从红色箭头依次往下,分别是骨骼、层级关系、贴图切片以及动画。导入进去图片之后首先是贴图切片,你需要把图片给拼装起来,然后根据层级关系弄好图片的上下层级关系,组合完毕之后开始加入骨骼绑定。绑定骨骼完毕之后,点击左上角SETUP就可到达动画制作页面。网络上有很多教程,我就不再一一强调了,如果想要自己做动画的话,可能需要一定的动画基础,不然你做起来肯定会有一定的问题!

        完成动画制作之后,你可以点击左上角的菜单选择EXPORT。spine基础以及骨骼动画的使用(1)-编程知识网


        选择你自己要的格式,我一般选择这个。

spine基础以及骨骼动画的使用(1)-编程知识网

    

        导出之后我的这个版本一般是json和atlas以及一份png的图片。接下来我来讲讲怎么在cocos2dx中简单的进行使用。

skeletonNode = SkeletonAnimation::createWithFile("yemanren.json", "yemanren.atlas", 1.0f);skeletonNode->setScale(0.4, 0.4);skeletonNode->setTimeScale(1);skeletonNode->setMix("walk", "jump", 0.2);skeletonNode->setMix("walk", "attack", 0.2);skeletonNode->setMix("jump", "walk", 0.4);skeletonNode->setMix("jump", "attack", 0.4);skeletonNode->setMix("attack", "walk", 0.4);skeletonNode->setMix("attack", "jump", 0.4);skeletonNode->setPosition(Point(Director::getInstance()->getVisibleSize().width / 2 - 300,Director::getInstance()->getVisibleSize().height / 2));x = skeletonNode->getPositionX();y = skeletonNode->getPositionY();this->addChild(skeletonNode);

第一句话是加入了文件以及信息。第二句式设置大小,第三句话是设置时间速度。

后面那一大串是我编辑的一些运动动作之间的过度,防止出现跳帧的现象。

然后获取了他的坐标,等下可以控制它的行走。

skeletonNode->setToSetupPose();
skeletonNode->setAnimation(0, "jump", false);

这两句话第一句是立刻停止动画,下一句是执行当前动画,动画的名称是jump(注意,这些名称都是你在spine里面已经设定好的)。最后一个false是执行一次的意思,参数 0 的意思是延迟 0秒之后执行该动画。

我导入了四个方向键,攻击以及跳跃,贴上背景图片,就变成这样了。

spine基础以及骨骼动画的使用(1)-编程知识网

四个简单方向键,攻击和跳跃,其他血条等等在以后分享,还在研究中!!

今天就分享这么多,下次继续!谢谢大家。  

 

                          spine基础以及骨骼动画的使用(1)-编程知识网