首页 > 代码库 > Cocos2d-x CCBone添加点击事件以及换肤的方案。反正怎么用就看你自己了
Cocos2d-x CCBone添加点击事件以及换肤的方案。反正怎么用就看你自己了
前几天妹子切图的时候把UI做成了Animture,首先声明我不是学C++的我用cocos2dx也才一两个月。对于一些原理的上的东西我也没时间去深究。我需要的是解决方案。所以第一的反应是百度有没有相似的方案,而不是去看源码.
加Animate(动画)的方式很简单。
1 CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Example.png","Example.plist","Example.ExportJson");2 CCArmature* pMainInterface = CCArmature::create("Example");3 //播放4 pMainInterface->getAnimation()->playByIndex(0);5 //设置到scene中间6 pMainInterface->setPosition(VisibleRect::center());
然后这样就可以播放了。
这是我们看到的动画效果。然后我们需要在开始上和新游戏上绑定事件。
但是Cocostudio 的animate 和 UI导出的东西是不一样的。UI里边是可以直接获取到UI节点然后直接UIStart->addTouchEventListener(UIStart,SEL_TouchEvent(&GameStartLayer::ButtonCallback));就行了。
那么问题来了。
我百度了一下
http://www.cnblogs.com/newlist/p/3607997.html
这里写到了如何添加粒子效果到骨骼中。
于是我们就想办法。
先创建一个CCMenuItem然后通过CCMenu把CCMenuItem里去,通过addDisplay方法来切换显示
1 CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("Main_Interface/Main_Interface0.png","Main_Interface/Main_Interface0.plist","Main_Interface/Main_Interface.ExportJson"); 2 CCArmature* pMainInterface = CCArmature::create("Main_Interface"); 3 pMainInterface->getAnimation()->playByIndex(0); 4 pMainInterface->setPosition(VisibleRect::center()); 5 CCSprite* pSprite = CCSprite::create("start.png"); 6 CCMenuItemSprite* pMenuSprite = CCMenuItemSprite::create(pSprite,pSprite,this,menu_selector(GameStartLayer::StartCallBack)); 7 CCBone* pStart = pMainInterface->getBone("Layer12"); 8 pStart->addDisplay(pMenuSprite,1); 9 pStart->changeDisplayByIndex(1,true);10 CCMenu* menu = CCMenu::create();11 menu->addChild(pMenuSprite);12 this->addChild(menu);13 menu->setPosition(VisibleRect::center());14 menu->setZOrder(10000);15 this->addChild(pMainInterface);
代码写的有点乱。。。
将就着看吧
Cocos2d-x CCBone添加点击事件以及换肤的方案。反正怎么用就看你自己了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。