项目是lua 所以在lua上写很方便了,但是,最近看3.x ,尝试在c++上写。
首先 包含头文件:
#include "cocos2d.h" #include "ui/CocosGUI.h" using namespace cocos2d; using namespace ui;
注意一点的是cocos2d 一定要在ui 前面,不然会报错
然后在头文件中声明:
void menuCloseCallback(cocos2d::Object* pSender,ui::TouchEventType type);
我们需要的就是这个type,因为后面触发点击事件的时候,还是需要处理begin,end等事件,所以这里需要这个type
接下来绑定点击事件:
auto closeItem = static_cast<ui::Button*>(rootNode->getChildByTag(6)); closeItem->addTouchEventListener(this,toucheventselector(HelloWorld::menuCloseCallback));这里需要用的是toucheventselector
然后就可以在menuCloseCallback 函数中处理begin,end 等事件了。
void HelloWorld::menuCloseCallback(cocos2d::Object* pSender,ui::TouchEventType type) { if (type == ui::TouchEventType::TOUCH_EVENT_ENDED) { } }