下面是我想出的。想知道是否有更简单的方法来做到这一点。
假设我只希望菜单层在启动时是可触摸的。
我放置了会吞下触摸的隐形层。
bool tNoTouchLayer::init()
{
if(!CCLayer::init()) {
return false;
}
setIsTouchEnabled(true);
return true;
}
void tNoTouchLayer::registerWithTouchDispatcher()
{
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
}
bool tNoTouchLayer::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)
{
return true;
}
现在我可以在添加菜单层之前添加 noTouchLayer,所有的触摸都会被 noTouchLayer 窃取。