void CCBProxy::setCallback(CCNode* pNode,int nHandle,int nControlEvents) { if (NULL == pNode) { return; } if (NULL != dynamic_cast<CCMenuItem*>(pNode)) { CCMenuItem *pMenuItem = dynamic_cast<CCMenuItem*>(pNode); if (NULL != pMenuItem) { pMenuItem->registerScriptTapHandler(nHandle); } } else if (NULL != dynamic_cast<CCControl*>(pNode)) { CCControl* pControl = dynamic_cast<CCControl*>(pNode); if (NULL != pControl) { for (int i = 0; i < kControlEventTotalNumber; i++) { if ((nControlEvents & (1 << i))) { pControl->addHandleOfControlEvent(nHandle, 1 << i); } } } } }