Cocos2d-x 3.0屏蔽下层触摸

本文介绍了在Cocos2d-x 3.0版本中如何屏蔽下层触摸事件。通过设置触摸监听器并在onTouchBegan中返回true,配合调整触摸优先级,可以实现这一功能。文中以一个简单的场景为例,展示如何创建一个层来阻止下层菜单的点击,并提供了相关代码实现。
摘要由CSDN通过智能技术生成


Cocos2d-x从3.0版本以来,触摸机制有所改变,虽然实现的道理没有变,不过我今天还是写出这篇文章,就当是简单的复习一下3.0的事件分发机制吧,同时把自己在研究的过程中遇到的问题分享出来。这里采用的方法是最简单,最直接的方法,整体的思路是这样的。设置触摸监听器吞噬触摸,然后在回调函数onTouchBegan中返回true,同时确保这个层的触摸优先级大于你要屏蔽的层的优先级。也许这种方法不能满足你得需求,那就请自行研究或者看下其他博客,或者给我留言共同探讨吧。在实现中我们肯定会遇到的就是屏蔽菜单,让菜单变的不可点击,那我就写一个简单的场景,里边加入菜单,然后加入一个层来屏蔽掉下层的触摸。

bool CreateGame::init()
{
    if(!Layer::init())
        return false;
 
    //UI
 
    auto size = Director::getInstance()->getWinSize();
 
    Vector<MenuItem *> itemVector;
    for(int i=1;i<4;i++)
    {
        auto item = MenuItemImage::create("no_people.png","people.png");
        item->setTag(i);
 
        itemVector.pushBack(item);
    }
    auto menu1 = Menu::createWithArray(itemVector);
    menu1->alignItemsHorizontallyWithPadding(10)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值