出现问题的描述:
进入APP的主界面如下:
点击可卡因图标,进入如下界面:
问题是:当我点击红色区域时,就进入下面的界面,但是我的本意是主界面隐藏,就不能点击,但是还是能点击,就变成下面界面:
这个界面本来是点击主界面苯丙胺时才显示的。
我尝试了很多方法,最后找到一种解决办法:
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = [this](Touch* touch,Event* event)
{
<span style="color:#ff0000;">if (!this->isVisible()){
return false;
}</span>
auto target = static_cast<Sprite3D*>(event->getCurrentTarget());
Rect rect = target->getBoundingBox();
if (rect.containsPoint(touch->getLocation()))
{
//log("sprite3d began... x = %f, y = %f", touch->getLocation().x, touch->getLocation().y);
return true;
}
return false;
};
通过判断本层是否显示,来决定能不能点击!!!(我找了4个小时才想出这一种办法,希望对那些初学者有帮助)