Visual Studio cocos2d-x 3.10 触摸 防穿透方案

cocos2d-x 触摸 防穿透方案,不喜勿喷

在新建的Layer初始化代码下:

方案一:
//创建MenuItemImage屏蔽对象 layer.png为透明图片

auto ShieldObj = MenuItemImage::create("layer.png", "layer.png");
ShieldObj->setContentSize(
Size(
		Director::getInstance()->getVisibleSize().width, 
		Director::getInstance()->getVisibleSize().height
	)
);
ShieldObj->setPosition(Director::getInstance()->getVisibleSize() / 2);

Menu* menu = Menu::create(ShieldObj, NULL);
menu->setPosition(Vec2::ZERO);
addChild(menu, 1);

方案二: 推荐使用,简单暴力
//创建MenuItemLabel屏蔽对象 字体换成手机支持的字体即可

auto ShieldObj = MenuItemLabel::create(cocos2d::Label::create(" ", "宋体", 30));
ShieldObj->setContentSize(
	Size(
			Director::getInstance()->getVisibleSize().width, 
			Director::getInstance()->getVisibleSize().height
		)
	);
ShieldObj->setPosition(Director::getInstance()->getVisibleSize() / 2);

Menu* menu = Menu::create(ShieldObj, NULL);
menu->setPosition(Vec2::ZERO);
addChild(menu, 1);

使用以上方案,能解决上一层按钮被穿透点击的问题,没有他们讲的那么深奥,啥吞噬的啥,事件拦截啥啥啥的,看的我头皮发麻。以上仅供参考,请多指教!

你可能感兴趣的:(VisualStudio,C++,cocos2d-x)