Cocos2d-x设置吞没单击属性来避免精灵重叠被点击后的事件续传
2015-05-19 20:17
465 查看
代码如下:
Size visibleSize = Director::getInstance()->getVisibleSize(); /* create two sprites which have overlapped parts */ Sprite* sp1 = Sprite::create("sprite1.png"); sp1->setPosition(Point(visibleSize.width * 0.5f, visibleSize.height * 0.5f)); this->addChild(sp1); Sprite* sp2 = Sprite::create("sprite2.png"); sp2->setPosition(Point(visibleSize.width * 0.5f, visibleSize.height * 0.5f)); this->addChild(sp2); auto listener = EventListenerTouchOneByOne::create(); listener->setSwallowTouches(true); listener->onTouchBegan = [](Touch* touch, Event* event){ /* get the target bind by the touch event listener */ auto target = static_cast<Sprite*>(event->getCurrentTarget()); Point pos = Director::getInstance()->convertToGL(touch->getLocationInView()); /* judge if the touch position inside the bounding box of sprite */ if (target->getBoundingBox().containsPoint(pos)) { /* set the opacity of the sprite */ target->setOpacity(100); return true; } return false; }; listener->onTouchEnded = [](Touch* touch, Event* event){ /* restore the opacity of the sprite */ auto target = static_cast<Sprite*>(event->getCurrentTarget()); target->setOpacity(255); }; /* register the touch event listener by event dispatcher to bind sprite1 */ _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, sp1); /* register the touch event listener by event dispatcher to bind sprite2 */ _eventDispatcher->addEventListenerWithSceneGraphPriority(listener->clone(), sp2);
相关文章推荐
- UILabel设置属性字符串,可以增加点击事件点击
- 给EditText的drawableRight属性的图片设置点击事件
- 给EditText的drawableRight属性的图片设置点击事件
- WebView的一些基础设置,避免获取不到点击事件
- cocos2d-x 游戏开发----给单个精灵绑定点击事件
- 给TextView的drawableRight属性设置点击事件
- C# WinForm窗体的TopMost属性设置为true时,多次点击窗体弹出事件,只会弹出一个窗体
- 给EditText的drawableRight属性的图片设置点击事件
- 解决JS单击事件设置的弹出模块在点击后闪现消失的问题
- textview设置属性autolink后,点击网址链接如何捕捉到点击事件或者如何让其跳转到特定的app activity中
- form表单元素设置disabled属性后支持点击click事件
- Android中EditText的drawableRight属性设置点击事件
- 给EditText的drawableRight属性的图片设置点击事件 分类: 学习笔记 android 2015-07-06 13:20 134人阅读 评论(0) 收藏
- Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)
- Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)
- 给EditText的drawableRight属性的图片设置点击事件
- cocos2d-x CCSprite 精灵监听点击事件
- 给EditText的drawableRight属性的图片设置点击事件
- Android Button 常用属性设置,圆角,边框,点击事件
- ListView集合中设置标记 setTag();方法带一个参数和两个参数的区别,以及设置标记时ViewHolder中的每一个属性控件都需要设置一次,否则在Item中每一个控件的点击事件中取出设置的标