Eventdispatcher

cocos2d-x 2015. 1. 9. 10:55

5 types of event listeners.

EventListenerTouch - responds to touch events

EventListenerKeyboard - responds to keyboard events

EventListenerAcceleration - responds to accelerometer events

EventListenMouse - responds to mouse events

EventListenerCustom - responds to custom events


FixedPriority vs SceneGraphPriority

The EventDispatcher uses priorities to decide which listeners get delivered an event first.

FixedPriority is an integer value. Event listeners with lower Priority values get to process events before event listeners with higher Priority values.

SceneGraphPriority is a pointer to a Node. Event listeners whose Nodes have higher z-order values (that is, are drawn on top) receive events before event listeners whose Nodes have lower Z order values (that is, are drawn below). This ensures that touch events, for example, get delivered front-to-back, as you would expect.


// Create a "one by one" touch event listener // (processes one touch at a time) auto listener1 = EventListenerTouchOneByOne::create(); // trigger when you push down listener1->onTouchBegan = [](Touch* touch, Event* event){ // your code return true; // if you are consuming it }; // trigger when moving touch listener1->onTouchMoved = [](Touch* touch, Event* event){ // your code }; // trigger when you let up listener1->onTouchEnded = [=](Touch* touch, Event* event){ // your code }; // Add listener _eventDispatcher->addEventListenerWithSceneGraphPriority(listener1, this);

'cocos2d-x' 카테고리의 다른 글

bind, lamda로 콜백 함수 만들기  (0) 2015.02.05
sprite gray shader  (1) 2015.01.07
Posted by 에브리피플
,