我是靠谱客的博主 单纯镜子,这篇文章主要介绍cocos2d-x 利用CCArmature 实现换装,现在分享给大家,希望可以做个参考。

就是获取bone节点, 然后添加 addDisplay 数据.调用 changeDiplayByIndex,将bone切到想要的数据节点上.就实现了动画的换装.

代码如下: 图片动画素材可以到这里获取 https://github.com/2youyouo2/CSArmature (fish.plist 是自己的测试图片)

[cpp]  view plain copy
  1. CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Cowboy","""Cowboy0.png","Cowboy0.plist""Cowboy.json");  
  2. CCArmatureDataManager::sharedArmatureDataManager()->addSpriteFrameFromFile("fish.plist""fish.png");  
  3.   
  4. //这种方式不可用,必须上面的方式将要替换的图片素材添加到spriteFrameCache中.这里花了很长时间.  
  5. //CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("fish.plist");  
  6.   
  7. CCArmature* armature1 =CCArmature::create("Cowboy");//读取Armature_data  
  8. CCBone* bone = armature1->getBone("Layer136");  
  9.   
  10. CCSpriteDisplayData displayData;  
  11. displayData.setParam("fish09_01.png");  
  12.   
  13. bone->addDisplay(&displayData, 1);  
  14. bone->changeDisplayByIndex(1, true);  
  15.   
  16.   
  17.   
  18. armature1->setAnchorPoint(ccp(-0.5, 0));  
  19. armature1->setScale(0.4);  
  20. addChild(armature1);  
  21.   
  22. armature1->getAnimation()->playByIndex(1);/  

最后

以上就是单纯镜子最近收集整理的关于cocos2d-x 利用CCArmature 实现换装的全部内容,更多相关cocos2d-x内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部