CocoStudio UI 中按钮被隐藏仍然会捕捉触摸

当上层按钮被隐藏时
后面图层的同屏幕位置按钮仍然不会响应触摸
CocoStudio UI 中按钮被隐藏仍然会捕捉触摸

当上层按钮被隐藏时
后面图层的同屏幕位置按钮仍然不会响应触摸
这个难道不是BUG吗?
使用setEnabled
楼主你好,
屏蔽按钮点击响应,请调用 setTouchEnabled(false)
这绝对是个设计问题。
有的时候需要把几个按钮放到一个容器层管理,按照需要通过隐藏容器层来隐藏这些按钮。这个时候这部分按钮时不应该响应的。
如果只能通过setTouchEnabled 禁用按钮,就太麻烦了!
+1+1+1+1+1+1+1
这样修改
bool Widget::onTouchBegan(Touch *touch, Event *unusedEvent)
{
return false;
有道理!希望ccs 团队可以采纳!
这个方法有局限,子控件依然会被点到
有别的办法吗?
试了一下这个办法暂时可用,但是这样效率太低了。还是希望从结构上解决这个问题,真的很不爽!
我的办法:
bool Widget::onTouchBegan(CCTouch *touch, CCEvent *unused_event)
{
_hitted = false;
if (isEnabled() && isTouchEnabled())
{
_touchStartPos = touch->getLocation();
if(hitTest(_touchStartPos) && clippingParentAreaContainPoint(_touchStartPos))
{
_hitted = true;
}
}
if (!visibleTestParent->isVisible())
{
_hitted = false;
}
visibleTestParent = visibleTestParent->getWidgetParent();
if (!_hitted)
{
return false;
}
setFocused(true);
…
支持楼主!希望ccs 团队可以采纳!