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);

代码写的有点乱。。。

将就着看吧

时间: 2024-10-26 08:11:18

Cocos2d-x CCBone添加点击事件以及换肤的方案。反正怎么用就看你自己了的相关文章

IOS - UIView添加点击事件

UIView通过手势(Gesture-UITapGestureRecognizer)添加点击事件, 类似于UIButton的效果. 示例: UIImageView *iKnowIcon = [CYResource loadImageView:@"free-question-once-more-i-know.png"]; iKnowIcon.top = questionIcon.top + scaleWidthWith320(200); iKnowIcon.centerX = self.

echarts对每个data[i]的图片添加点击事件

1.综述:以饼图为例,只需要对echarts对象option添加以下几行代码即可 //添加点击事件(单击),还有其他鼠标事件和键盘事件等等 myChart1.on("click", function (param){ alert(param.dataIndex+':'+option1.series[0].data[param.dataIndex].name); }); 2.效果图 3.目录结构 4.<head></head>和<body></b

使用for循环添加点击事件时,获取i值的方法

比如页面上有一个ul,数个li,现在给li添加点击事件. var li = document.getElementsByTagName("li"); for(var i = 0; i < li.length; i++) { li[i].addEventListener("click",function () { console.log(i); }) } 但是,这样写之后我们发现,点击任何一个li,打印的值都为5,这是因为闭包中共用i值,而i的值由于执行for循

UIView利用hitTest添加点击事件

UIView利用hitTest添加点击事件 by 伍雪颖 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { CGPoint point = [[touches anyObject] locationInView:self.view]; CALayer *layer = [self.view.layer hitTest:point]; if (layer == self.blueView.layer) { [[[U

为未来元素添加点击事件的两种写法

哈哈哈,小七来了,对于经常搬砖撸代码的猴子们,一定会遇到给好多li(死的还是动态字符串拼接生成的(对未来元素添加不到事件的看之前写的事件委托))添加点击事件 第一种: var index=0; for(var i=0;i<li.length;i++){ li[i].index=i;//必须的 li[i].onclick=function(){ alert(1) } } 第二种: 事件的另一种写法(动态生成的多个li标签都加onclick="jia(this)就不用for循环里面嵌套点击事件

Qt:添加点击事件的Label并显示图片

1.给label添加点击事件 Qt中原本的label是没有点击事件的,如果想添加点击事件的话,可以继承QLabel类并重载鼠标事件(比如mousePressedEvent),然后在鼠标事件中发送一个信号,具体如下: // clicklabel.h #ifndef CLICKEDLABEL_H #define CLICKEDLABEL_H #include <QWidget> #include <QLabel> class ClickedLabel : public QLabel {

【Swift 2.1】为 UIView 添加点击事件和点击效果

前言 UIView 不像 UIButton 加了点击事件就会有点击效果,体验要差不少,这里分别通过自定义和扩展来实现类似 UIButton 的效果. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 一.为 UIView 添加点击事件 extension UIView { func addOnClickListener(target: AnyObject, action: Sel

iOS开发&mdash;&mdash;给ImageView添加点击事件

      给ImageView添加点击事件   1: cell.pictureView.userInteractionEnabled = YES; 2: UITapGestureRecognizer *gr = [[UITapGestureRecognizer alloc]initWithTarget:cell action:@selector(displayPicture:)]; 3: gr.numberOfTapsRequired = 1; 4: gr.numberOfTouchesReq

添加点击事件

在ButtonSprite中封装了点击事件ButtonSprite btn = new ButtonSprite(0, 0, Button, this.getVertexBufferObjectManager());btn.setOnClickListener(new OnClickListener() {                @Override                public void onClick(ButtonSprite pButtonSprite, float p