cocos3.0使用cocostudio动画帧结合地图对象键值创建精灵动画
2014-06-17 11:29
543 查看
内容例如以下:
#include "cocos2d.h" #include "cocostudio/CocoStudio.h" //精灵猫和其它精灵的tag typedef enum{ catTag =1, }; //cocostudio 动画帧tag typedef enum{ catWalkTag = 1001, }; class Base :public cocos2d::Layer { public: Base(); ~Base(); //在地图中创建一个活多个空精灵节点 void createSpriteInMap(cocos2d::TMXTiledMap* map, const std::string& strObj,int _tag, const std::string& strJosn, const std::string& _index, float scale); //创建精灵的动画 cocostudio::Armature* createArmature(const std::string& strJosn, const std::string& _index, float scale); //移除动画 void removeArmature(int _tag1,int _tag2); };
#include "Base.h" USING_NS_CC; using namespace cocostudio; Base::Base() { } Base::~Base() { } void Base::createSpriteInMap(TMXTiledMap* map, const std::string& strObj,int _tag, const std::string& strJosn, const std::string& _index, float scale) { auto group =map->getObjectGroup(strObj); auto& objs = group->getObjects(); for (auto& obj : objs) { ValueMap& dict =obj.asValueMap(); float x =dict["x"].asFloat(); float y =dict["y"].asFloat(); auto sprite = Sprite::create(); sprite->setPosition(Point(x,y)); ArmatureDataManager::getInstance()->addArmatureFileInfo(strJosn); Armature *armature = Armature::create(_index); armature->getAnimation()->playWithIndex(0); armature->setScale(scale); switch (_tag) { case catTag: sprite->addChild(armature, 2, catWalkTag); this->addChild(sprite, 2,catTag); } } } cocostudio::Armature* Base::createArmature(const std::string& strJosn, const std::string& _index, float scale) { ArmatureDataManager::getInstance()->addArmatureFileInfo(strJosn); Armature *armature = Armature::create(_index); armature->getAnimation()->playWithIndex(0); armature->setScale(scale); return armature; } void Base::removeArmature(int _tag1,int _tag2) { auto sprite =this->getChildByTag(_tag1); sprite->removeChildByTag(_tag2); }
this->createSpriteInMap(myMap, "jlmPoint", 1, "cat/CatWalks/CatWalks.ExportJson", "CatWalks", 0.5f);
相关文章推荐
- cocos3.0使用cocostudio动画帧结合地图对象键值创建精灵动画
- 使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景
- 使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景
- 使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景
- 使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景
- 使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景
- 如何使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景
- 如何使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景 分享0
- 关于使用地图 创建 类型数目可控的海量“精灵节点”的优化封装(研究续集)
- Cocos2d学习之路三(使用Zwoptex创建精灵表单和CCAnimate动画)
- 使用plist文件创建精灵并执行动画
- 实习小白::(转)Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
- cocos2d-x使用TexturePacker打包图片及使用生成的plist文件创建精灵动画
- cocos2.2.3中创建精灵对象的三大类方法
- Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
- 使用plist创建精灵并执行动画
- CLLocationManager位置服务对象和地图的简单结合使用
- Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
- javascript创建对象之函数构造模式和原型模式结合使用(四)
- cocos2d-x 使用plist创建精灵并执行动画