cocos2dx中有6种监听器,他们都继承自EventListener类,分别是:
_Listener = EventListenertouchOneByOne::create();
_Listener->setSwallowtouches(true);
_Listener->ontouchBegan = std::bind(&MyTestScene::ontouchBegin,this,std::placeholders::_1,std::placeholders::_2);
_Listener->ontouchended = std::bind(&MyTestScene::ontouchend,std::placeholders::_2);
然后要添加这个监听器:
eventdispatcher = Director::getInstance()->getEventdispatcher();
eventdispatcher->addEventListenerWithSceneGraPHPriority(_Listener,this);
当不需要该监听器时应该移除:
_eventdispatcher->removeEventListener(Listener);
自定义事件要使用EventListenerCustom来实现:
auto Listener = EventListenerCustom::create("testEvent",[=](EventCustom* event)->voID{
TestEventData *data = (TestEventData*)event->getUserData();
}
);
_eventdispatcher->addEventListenerWithFixedPriority(Listener,1);
发送自定义事件:
TestEventData testData( str_mem );
EventCustom myEvent("testEvent");
myEvent.setUserData(&testData);
_eventdispatcher->dispatchEvent(&myEvent);
自定义事件有一个setUserData和getUserData方法来设置和获取事件携带的数据。
总结以上是内存溢出为你收集整理的2015-2-3 cocos2dx事件复习全部内容,希望文章能够帮你解决2015-2-3 cocos2dx事件复习所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)