iOS的Cocos2d-x工程载入CocoStudio制作的动画素材'xxx.csb/csd'文件,添加自定义用户头像图片到动画。

原创 2016年06月15日 17:05:22

在Cocos2d-x工程载入CocoStudio制作的动画素材'xxx.csb'或'xxx.csd'文件只需要在scene文件如'HellowWorldScene.cpp'中的'bool HelloWorld::init()'方法中加入下方代码载入csb或者csd动画文件就可以。

//    //csb文件动画载入
//    auto rootNode = CSLoader::createNode("tmp.csb");
//    rootNode->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
//    addChild(rootNode);
//    auto action = CSLoader::createTimeline("tmp.csb");
//    rootNode->runAction(action);
//    action->gotoFrameAndPlay(0, true);
    //csd动画文件载入
    auto node = CSLoader::getInstance()->createNodeWithFlatBuffersForSimulator("Node.csd");
    node->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
    this->addChild(node);
    cocostudio::timeline::ActionTimeline* action = cocostudio::timeline::ActionTimelineCache::getInstance()->createActionWithFlatBuffersForSimulator("Node.csd");
    if (action)
    {
        node->runAction(action);
        action->gotoFrameAndPlay(0);
    }
Demo下载链接


如果遇到了"libpng error: CgBI: unhandled critical chunk"错误,如果使用的是Xcode 7.3+的版本,需要在工程的“Build Settings"下设置"Compress PNG Files"为"NO"和"Remove Text Metadata From PNG Files"为"NO",否则会出现无法打开图片的libpng的问题。参考"[Solved] libpng error: CgBI: unhandled critical chunk + Xcode 7.3",但是仅仅修改"Remove Text Metadata From PNG Files"为"NO"可能还无法解决问题,还需要修改"Compress PNG Files"。

添加自定义用户头像到动画

只需要在我们添加的cocos2d的node中通过tag值或者name值一层层寻找我们需要添加头像的那个child node。然后用我们需要添加的图片生成sprite node,添加到那个child node上即可。如果动画是重用的,记得每次添加自定义图片node时,删除之前添加的图片node。

代码如下:

void SatelliteScene::setIcon(Image* image1)
{
    auto head1 = node->getChildByTag(4);
    
    if(image1!=nil && head1!=nil){
        printf("head");
        auto texture = new Texture2D();
        texture->initWithImage(image1);
        texture->autorelease();
        auto icon = Sprite::createWithTexture(texture);
        icon->setScaleY(kSatelliteHeight/icon->getContentSize().height);
        icon->setScaleX(kSatelliteWidth/icon->getContentSize().width);
        icon->setRotation(13);
        icon->setPosition(179, 161);
        icon->setTag(6666);
        head1->removeChildByTag(6666);
        head1->addChild(icon);
    }
}

此外,当图片比较大,像素比较高时,在做UIImage转Image的时候会出现转换速度慢,系统卡顿。那么需要使用CGContext把UIImage的size减少,再做格式转换,最后添加cocos2d的node中。CGContext的操作需要在子线程中进行。而UIImage转Image尽量在主线程中进行,避免C++下的线程同步问题。


Cocos Studio的csb文件中clone列表子元素,但动画未随之克隆的分析

列表中复制UI元素(附有动画)并同时复制动画问题和杨帆讨论的2套方案: 1.列表子元素,子元素动画与列表界面在同一UI文件中(宋胜磊): TimeLine:对应一个元素的完整动画的全部数据, T...
  • LightUpHeaven
  • LightUpHeaven
  • 2015年09月18日 14:34
  • 1617

libpng error: CgBI: unhandled critical chunk-Cocos2d-x在iPhone真机上 加载图片崩溃提示

Cocos2d-x加载图片资源出现unhandled critical chunk Xcode7.3 设置Remove Text Metadata From PNG Files = NO.就可以...
  • AD_118
  • AD_118
  • 2016年06月13日 11:21
  • 2705

AndridStudio编译错误之——libpng error: CgBI: unhandled critical chunk

错误代码 Error:Execution failed for task ':PulltorefreshLibrary:mergeDebugAndroidTestResources'. > Some...
  • nailsoul
  • nailsoul
  • 2015年12月11日 20:41
  • 5742

xcode8 libpng error: CgBI: unhandled critical chunk

Build Settings => Remove TextMetadata From PNG Files 设置成NO
  • lovehappy108
  • lovehappy108
  • 2016年09月24日 16:29
  • 711

【cocos2d-x 2】关于CocosStudio编辑出的csb的简单使用

说明:cocos2d-x版本为 3.4,cocosStudio版本为2.1.5  cocosStudio 我个人目前的认识,以为就是一个界面编辑器。界面通过美工可以排布好,然后把发布的csb...
  • HongHuer
  • HongHuer
  • 2015年03月30日 17:24
  • 21312

【独立开发者er Cocos2d-x实战 001】csb文件导出和加载

【独立开发者er Cocos2d-x实战 001】csb文件导出和加载 然后在cocos工程中进行加载csb文件:  auto myLayout = CSLoader::createNode...
  • chenqiai0
  • chenqiai0
  • 2015年06月25日 10:38
  • 21080

【cocos2d-x 2】关于CocosStudio编辑出的csb的简单使用

说明:cocos2d-x版本为 3.4,cocosStudio版本为2.1.5  cocosStudio 我个人目前的认识,以为就是一个界面编辑器。界面通过美工可以排布好,然后把发布的csb...
  • HongHuer
  • HongHuer
  • 2015年03月30日 17:24
  • 21312

【独立开发者er Cocos2d-x实战 001】csb文件导出和加载

【独立开发者er Cocos2d-x实战 001】csb文件导出和加载 然后在cocos工程中进行加载csb文件:  auto myLayout = CSLoader::createNode...
  • chenqiai0
  • chenqiai0
  • 2015年06月25日 10:38
  • 21080

【独立开发者er Cocos2d-x实战 001】csb文件导出和加载

原文地址:http://blog.csdn.net/chenqiai0/article/details/46633407/ 使用cocos studio进行资源文件导出: ...
  • qq_30392565
  • qq_30392565
  • 2016年10月13日 11:41
  • 3247

Cocos2d-x 3.0 开发(七)在程序中处理cocoStudio导出动画Demo

  • 2013年10月22日 22:58
  • 1.35MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS的Cocos2d-x工程载入CocoStudio制作的动画素材'xxx.csb/csd'文件,添加自定义用户头像图片到动画。
举报原因:
原因补充:

(最多只允许输入30个字)