一個穿透事件問題的解決

自定義類CCBContainer

繼承關係改爲public CCLayer

class CCBContainer :public CCLayer//: public cocos2d::CCNode

onTouchBegan

 return true

使得eventdispath 能夠根據swallowstouches標誌中斷後續的事件分發

bool CCBContainer::init()
{
mCCBContainerListener = 0;;
mCCBTag = 0;
mLoadedCCBFile = "";
if (Layer::init())
{
setSwallowsTouches(true);
setTouchMode(Touch::DispatchMode::ONE_BY_ONE);
setTouchEnabled(false);

return true;
}


return true;
}


bool CCBContainer::onTouchBegan(Touch *touch, Event *event)
{
#if CC_ENABLE_SCRIPT_BINDING
if (kScriptTypeLua == _scriptType)
{
//return executeScriptTouchHandler(EventTouch::EventCode::BEGAN, touch, event) == 0 ? false : true;
}
#endif
//if (isSwallowsTouches())
//return false;
return true;
}

發佈了52 篇原創文章 · 獲贊 7 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章