cocos2d-x 利用CCArmature 实现换装

本文介绍了如何通过cocos2d-x的CCArmature组件来实现角色的换装功能。主要步骤包括获取bone节点,添加addDisplay数据,并调用changeDisplayByIndex方法切换到目标动画帧,从而完成换装操作。具体实现可参考提供的GitHub资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

    CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Cowboy","", "Cowboy0.png","Cowboy0.plist", "Cowboy.json");
    CCArmatureDataManager::sharedArmatureDataManager()->addSpriteFrameFromFile("fish.plist", "fish.png");

    //这种方式不可用,必须上面的方式将要替换的图片素材添加到spriteFrameCache中.这里花了很长时间.
    //CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("fish.plist");
    
    CCArmature* armature1 =CCArmature::create("Cowboy");//读取Armature_data
    CCBone* bone = armature1->getBone("Layer136");
    
    CCSpriteDisplayData displayData;
    displayData.setParam("fish09_01.png");
    
    bone->addDisplay(&displayData, 1);
    bone->changeDisplayByIndex(1, true);
    
    

    armature1->setAnchorPoint(ccp(-0.5, 0));
    armature1->setScale(0.4);
    addChild(armature1);
    
    armature1->getAnimation()->playByIndex(1);/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值