你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
发现
话题
· · ·
登录
注册
反向遮罩的点击功能问题
cocos2dx,我对一个组件A使用反向遮罩,A中被遮罩隐藏掉的组件还是会接收到点击效果
没有找到相关结果
已邀请:
与内容相关的链接
提交
2 个回复
谷主
赞同来自:
先记录下,以后查查
canyuexueying
赞同来自:
这个问题是个bug, 原因是 Gcomponet 中的 maskOwner 一旦设置后会从子类中移除
_maskOwner = child;
if (value->getParent())
value->getParent()->removeChild(value, false);
但是在做碰撞检测时,又采用了通用的hitTest 判断了父对象是否存在 所以导致点击遮罩 被忽略了,进行了后续容器hitTest
GObject* GObject::hitTest(const Vec2& worldPoint, const Camera* camera)
{
if (_touchDisabled || !_touchable || !_displayObject->isVisible() ||
!_displayObject->getParent()
)
return nullptr;
Rect rect;
rect.size = _size;
//if (isScreenPointInRect(worldPoint, camera, _displayObject->getWorldToNodeTransform(), rect, nullptr))
if (rect.containsPoint(_displayObject->convertToNodeSpace(worldPoint)))
return this;
else
return nullptr;
}
解决方案,新增一个 hitMaskTest 来 区别正常的 hitTest
要回复问题请先
登录
或
注册
发起人
杨仪
相关问题
文本 颜色问题求助!!!
一个大按钮中有一个小按钮 如何让两个按钮的点击事件错开
发布的问题
cocos creator3.x+fgui 使用滚动列表 遮罩适配问题
list里的item控制问题
使用LineMesh实现的画板,再怎么擦除线(黑板擦功能)
FairyGUI中列表可以实现滚轮操作,转到白鹭引擎上怎么就没有这个功能了?
FairyUI有没有可以快速在手机上预览效果的功能?
qq浏览器存在兼容问题
List Item 问题
extmeshpro在真机上运行问题
问题状态
最新活动:
2020-09-10 21:03
浏览:
2184
关注:
4
人
2 个回复
谷主
赞同来自:
canyuexueying
赞同来自:
_maskOwner = child;
if (value->getParent())
value->getParent()->removeChild(value, false);
但是在做碰撞检测时,又采用了通用的hitTest 判断了父对象是否存在 所以导致点击遮罩 被忽略了,进行了后续容器hitTest
GObject* GObject::hitTest(const Vec2& worldPoint, const Camera* camera)
{
if (_touchDisabled || !_touchable || !_displayObject->isVisible() || !_displayObject->getParent())
return nullptr;
Rect rect;
rect.size = _size;
//if (isScreenPointInRect(worldPoint, camera, _displayObject->getWorldToNodeTransform(), rect, nullptr))
if (rect.containsPoint(_displayObject->convertToNodeSpace(worldPoint)))
return this;
else
return nullptr;
}
解决方案,新增一个 hitMaskTest 来 区别正常的 hitTest