
//  ""    // (    ) auto listener1 = EventListenerTouchOneByOne::create(); //    listener1->onTouchBegan = [](Touch* touch, Event* event){ //   return true; //     }; //     listener1->onTouchMoved = [](Touch* touch, Event* event){ //   }; //    listener1->onTouchEnded = [=](Touch* touch, Event* event){ //   }; //   _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, this);  //  "" ,  true //  onTouchBegan   , //       listener1->setSwallowTouches(true); //     true  onTouchBegan() listener1->onTouchBegan = [](Touch* touch, Event* event){ //   return true; };  //     auto listener = EventListenerKeyboard::create(); listener->onKeyPressed = CC_CALLBACK_2(KeyboardTest::onKeyPressed, this); listener->onKeyReleased = CC_CALLBACK_2(KeyboardTest::onKeyReleased, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); //   callback  void KeyboardTest::onKeyPressed(EventKeyboard::KeyCode keyCode, Event* event) { log("Key with keycode %d pressed", keyCode); } void KeyboardTest::onKeyReleased(EventKeyboard::KeyCode keyCode, Event* event) { log("Key with keycode %d released", keyCode); }  Device::setAccelerometerEnabled(true);  //   auto listener = EventListenerAcceleration::create(CC_CALLBACK_2( AccelerometerTest::onAcceleration, this)); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this); //   callback  void AccelerometerTest::onAcceleration(Acceleration* acc, Event* event) { // Processing logic here }  _mouseListener = EventListenerMouse::create(); _mouseListener->onMouseMove = CC_CALLBACK_1(MouseTest::onMouseMove, this); _mouseListener->onMouseUp = CC_CALLBACK_1(MouseTest::onMouseUp, this); _mouseListener->onMouseDown = CC_CALLBACK_1(MouseTest::onMouseDown, this); _mouseListener->onMouseScroll = CC_CALLBACK_1(MouseTest::onMouseScroll, this); _eventDispatcher->addEventListenerWithSceneGraphPriority(_mouseListener, this); void MouseTest::onMouseDown(Event *event) { //   ... EventMouse* e = (EventMouse*)event; string str = "Mouse Down detected, Key: "; str += tostr(e->getMouseButton()); } void MouseTest::onMouseUp(Event *event) { //   ... EventMouse* e = (EventMouse*)event; string str = "Mouse Up detected, Key: "; str += tostr(e->getMouseButton()); } void MouseTest::onMouseMove(Event *event) { //   ... EventMouse* e = (EventMouse*)event; string str = "MousePosition X:"; str = str + tostr(e->getCursorX()) + " Y:" + tostr(e->getCursorY()); } void MouseTest::onMouseScroll(Event *event) { //   ... EventMouse* e = (EventMouse*)event; string str = "Mouse Scroll detected, X: "; str = str + tostr(e->getScrollX()) + " Y: " + tostr(e->getScrollY()); }  _listener = EventListenerCustom::create("game_custom_event1", [=](EventCustom* event){ std::string str("Custom event 1 received, "); char* buf = static_cast<char*>(event->getUserData()); str += buf; str += " times"; statusLabel->setString(str.c_str()); }); _eventDispatcher->addEventListenerWithFixedPriority(_listener, 1);  static int count = 0; ++count; char* buf[10]; sprintf(buf, "%d", count); EventCustom event("game_custom_event1"); event.setUserData(buf); _eventDispatcher->dispatchEvent(&event);  //   _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, sprite1);  //   _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, sprite1); //        _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1->clone(), sprite2); _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1->clone(), sprite3);  _eventDispatcher->removeEventListener(listener); Source: https://habr.com/ru/post/341066/
All Articles