多个图层重叠,只有显示图层能进行touch行为的解决方法

多个图层重叠,只有显示图层能进行touch行为的解决方法,第1张

概述出现问题的描述: 进入APP的主界面如下: 点击可卡因图标,进入如下界面: 问题是:当我点击红色区域时,就进入下面的界面,但是我的本意是主界面隐藏,就不能点击,但是还是能点击,就变成下面界面: 这个界面本来是点击主界面 *** 时才显示的。 我尝试了很多方法,最后找到一种解决办法: auto listener = EventListenerTouchOneByOne::create(); liste

出现问题的描述:

进入APP的主界面如下:


点击可卡因图标,进入如下界面:


问题是:当我点击红色区域时,就进入下面的界面,但是我的本意是主界面隐藏,就不能点击,但是还是能点击,就变成下面界面:


这个界面本来是点击主界面 *** 时才显示的。

我尝试了很多方法,最后找到一种解决办法:

auto Listener = EventListenertouchOneByOne::create();	Listener->setSwallowtouches(true);	Listener->ontouchBegan = [this](touch* touch,Event* event)	{		<span >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个小时才想出这一种办法,希望对那些初学者有帮助) 总结

以上是内存溢出为你收集整理的多个图层重叠,只有显示图层能进行touch行为的解决方法全部内容,希望文章能够帮你解决多个图层重叠,只有显示图层能进行touch行为的解决方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1071464.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存