이벤트 발생 매커니즘
Cocos2d-x 는 이벤트발생 매커니즘을 통해 이벤트를 처리합니다.
내장된 터치 이벤트,키보드이벤트등을 지원함과 동시에 커스텀 이벤트를 생성하는 방법을 제공합니다.
이것은 우리가 게임개발에 있어 특수한 이벤트 처리방법의 요구를 만족시켜줍니다.
기본 요소
Event Listener : 이벤트를 수신하고 해당 이벤트에 따라 함수를 처리하는걸 책임진다.
이벤트 발생기 : 이벤트를 발송하는걸 책임진다.
이벤트 개체 : 이벤트에 대한 메시지를 기록한다.
출처: <http://cocos2d-x.org/docs/cocos2d-x/zh/event_dispatcher/>
Listener
다섯종류
EventListenerTouch - 터치 이벤트에 응답한다.
EventListenerKeyboard - 키보드 이벤트에 응답한다.
EventListenerAcceleration - 가속도계 이벤트에 응답한다.
EventListenMouse - 마우스 이벤트에 응답한다.
EventListenerCustom - 커스텀 이벤트에 응답한다.
이벤트 캐치
하나의 리스터가 있고 원하는 이벤트를 수신하였을때 이 이벤트는 캐치될것입니다.이벤트가 캐치된다는것은 이벤트의 전달과정에서 당신이 이 이벤트를 사용하였을때 다른 리스너가 캐치하지 못하게 막는것입니다.
이벤트 캐치 설정:
C++
// When "swallow touches" is true, then returning 'true' from the
// onTouchBegan method will "swallow" the touch event, preventing
// other listeners from using it.
listener1->setSwallowTouches(true);
// you should also return true in onTouchBegan()
listener1->onTouchBegan = [](Touch* touch, Event* event){
// your code
return true;
};
출처: <http://cocos2d-x.org/docs/cocos2d-x/zh/event_dispatcher/types.html>
'Cocos2d-x v3.17 > 고급 기능' 카테고리의 다른 글
[Cocos2d-x 고급기능]키보드 이벤트,가속도계 이벤트 (0) | 2018.08.11 |
---|---|
[Cocos2d-x 고급기능]이벤트 발생 매커니즘 우선순위 및 터치이벤트 (0) | 2018.08.11 |
[Cocos2d-x 고급기능]ParallaxNode 스크롤링 (0) | 2018.08.11 |
[Cocos2d-x 고급기능]ParticleSystem (0) | 2018.08.11 |
[Cocos2d-x 고급기능]특수한 노드객체 소개 및 TileMap (0) | 2018.08.11 |