版本:
cocos2dx 版本2.04
cocosbuild 版本2.1
实现功能:
弹出对话框时屏蔽下层按钮的消息,对话框在 cocosbuild 里创建。
因为是 cocosbuild里创建的对话框层,所以不方便对该层进行代码管理,将层导入后,创建一个底层做为消息屏蔽层,然后将对话框层从父结点上解绑,加入消息屏蔽层,这样才能保证对话框层里的菜单可以接受到消息事件。
提高层的消息等级,屏蔽掉消息的传递
消息屏蔽层里重载消息注册函数
voidregisterWithTouchDispatcher()
{
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this,kCCMenuHandlerPriority,true);
CCLayer::registerWithTouchDispatcher();
}
在 touhcbegan 函数里,设置返回值为 true,代表不传递消息给下层,如果是 false ,则消息会传递。
要设置该层可触摸:
setTouchEnabled(true);
网友评论