• 监听器
    • 五种类型
    • 事件的吞没

    监听器

    五种类型

    • EventListenerTouch - 响应触摸事件

    • EventListenerKeyboard - 响应键盘事件

    • EventListenerAcceleration - 响应加速度事件

    • EventListenMouse - 响应鼠标事件

    • EventListenerCustom - 响应自定义事件

    事件的吞没

    当你有一个监听器,已经接收到了期望的事件,这时事件应该被吞没。事件被吞没,意味着在事件的传递过程中,你消耗了此事件,事件不再向下传递。避免了下游的其它监听器获取到此事件。

    设置吞没:

    C++

    1. // When "swallow touches" is true, then returning 'true' from the
    2. // onTouchBegan method will "swallow" the touch event, preventing
    3. // other listeners from using it.
    4. listener1->setSwallowTouches(true);
    5. // you should also return true in onTouchBegan()
    6. listener1->onTouchBegan = [](Touch* touch, Event* event){
    7. // your code
    8. return true;
    9. };

    原文: http://docs.cocos.com/cocos2d-x/manual/zh/event_dispatcher/types.html