23.cocos2d-x骨骼动画

23.cocos2d-x骨骼动画,第1张

概述温馨提示: Tests-V3.8\tests\cpp-tests\Resources\spine文件夹下有raptor.atlas、raptor.json、raptor.png文件 HelloWorldScene.h文件 #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" class

温馨提示:
Tests-V3.8\tests\cpp-tests\Resources\spine文件夹下有raptor.atlas、raptor.Json、raptor.png文件

HelloWorldScene.h文件

#ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" class HelloWorld : public cocos2d::Layer { public: // there's no 'ID' in cpp,so we recommend returning the class instance pointer static cocos2d::Scene* createScene(); // Here's a difference. Method 'init' in cocos2d-x returns bool,instead of returning 'ID' in cocos2d-iphone virtual bool init(); // implement the "static create()" method manually CREATE_FUNC(HelloWorld); }; #endif // __HELLOWORLD_SCENE_H__ 

HelloWorldScene.cpp文件

#include "HelloWorldScene.h"#include "cocostudio/CocoStudio.h"#include "ui/CocosGUI.h"#include "spine\spine.h"#include <spine/spine-cocos2dx.h>USING_NS_CC;using namespace spine;using namespace cocostudio::timeline;Scene* HelloWorld::createScene(){    // 'scene' is an autorelease object    auto scene = Scene::create();    // 'layer' is an autorelease object    auto layer = HelloWorld::create();    // add layer as a child to scene    scene->addChild(layer);    // return the scene    return scene;}// on "init" you need to initialize your instancebool HelloWorld::init(){    //////////////////////////////    // 1. super init first    if ( !Layer::init() )    {        return false;    }    auto rootNode = csloader::createNode("MainScene.csb");    Vec2  visiable = Director::getInstance()->getVisibleSize();    auto skeletonNode = new SkeletonAnimation("raptor.Json","raptor.atlas");    skeletonNode->setposition(Vec2(visiable.x /2,50));    skeletonNode->setScale(0.5);    //0.一个一个执行,过度时不会卡顿    //skeletonNode->setMix("walk","gungrab",0.5f);    //1.轨道、走路动作、是否循环    skeletonNode->setAnimation(0,"walk",true);    ////2.setAnimation方法只能播放一种动画,所以当要连续播放不同的动画时,需要使用addAnimation方法来实现,它可以一条一条的播放不同的动画。    skeletonNode->setAnimation(1,"empty",false);    skeletonNode->addAnimation(1,"gungrab",false,2);    //3.动画的播放快慢    skeletonNode->setTimeScale(0.5f);    //4.是否显示骨骼    skeletonNode->setDeBUGBonesEnabled(true);    addChild(skeletonNode);    addChild(rootNode);    return true;}
总结

以上是内存溢出为你收集整理的23.cocos2d-x骨骼动画全部内容,希望文章能够帮你解决23.cocos2d-x骨骼动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1076329.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存