标签:style color os io ar div 问题 sp on
当我们在用cocos2d-x引擎进行游戏设计时,很多时候有这样一种情况
我们需要创建一个层A,覆盖住层B,当我们在层A上进行触摸操作时,可能会对层B进行操作。所以我们需要做的是
当层A覆盖住层B时,屏蔽层B的touch事件
摘自某文章
layer屏蔽touch事件
此处有个问题,在popLayer层上触摸,你会发现底层的GameScene会响应。这就需要对popLayer进行touch事件处理屏蔽,不应该传递到底层。
在inin方法中注册touch事件监听
1
2
3
4
5
6
7
8
|
//设置触摸事件监听 auto
touchListener = EventListenerTouchOneByOne::create(); touchListener->onTouchBegan
= CC_CALLBACK_2(PopLayer::onTouchBegan, this ); touchListener->onTouchMoved
= CC_CALLBACK_2(PopLayer::onTouchMoved, this ); touchListener->onTouchEnded
= CC_CALLBACK_2(PopLayer::onTouchEnded, this ); _eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener,
this ); //
设置是否吞没事件,在 onTouchBegan 方法返回 true 时吞没 touchListener->setSwallowTouches( true ); |
空实现touch事件的监听函数
1
2
3
4
5
6
7
8
9
10
|
bool
GameOverLayer::onTouchBegan(Touch* touch, Event* event) { return
true ; } void
GameOverLayer::onTouchMoved(Touch* touch, Event* event) { } void
GameOverLayer::onTouchEnded(Touch* touch, Event* event) { } |
标签:style color os io ar div 问题 sp on
原文地址:http://blog.csdn.net/tingting14054765/article/details/39031999