在代码中
bool CCMenu::ccTouchBegan(CCTouch* touch, CCEvent* event)
{
CC_UNUSED_PARAM(event);
if (m_eState != kCCMenuStateWaiting || ! m_bVisible || !m_bEnabled)
{
setTouchSwallowEnabled(false);
return false;
}
for (CCNode *c = this->m_pParent; c != NULL; c = c->getParent())
{
if (c->isVisible() == false)
{
setTouchSwallowEnabled(false);
return false;
}
}
m_pSelectedItem = this->itemForTouch(touch);
if (m_pSelectedItem)
{
m_eState = kCCMenuStateTrackingTouch;
m_pSelectedItem->selected();
setTouchSwallowEnabled(true);
return true;
}
setTouchSwallowEnabled(false);
return false;
}
只要有被CCMenuItem获取过 又对CCMenu设置setTouchSwallowEnabled(true); 所以即使设置为 setTouchSwallowEnabled(false); 是不生效的
在代码中
bool CCMenu::ccTouchBegan(CCTouch* touch, CCEvent* event)
{
CC_UNUSED_PARAM(event);
if (m_eState != kCCMenuStateWaiting || ! m_bVisible || !m_bEnabled)
{
setTouchSwallowEnabled(false);
return false;
}
}
只要有被CCMenuItem获取过 又对CCMenu设置setTouchSwallowEnabled(true); 所以即使设置为 setTouchSwallowEnabled(false); 是不生效的