일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- flex
- Javascript
- HTML
- 아두이노 초보
- Php공부
- 파이썬
- vultr
- vps
- 워드프레스
- 챗지피티
- 자동포스팅
- 가상서버
- 프로그램
- 자동블로그
- 쿠팡파트너스
- 자바스크립트
- Python
- 그누보드
- 아두이노 강좌
- 무료일러스트
- cocos2d-x
- 자동글쓰기
- php
- 파싱
- 웹
- ChatGPT
- Ajax
- 아두이노
- 아두이노 기초강좌
- c#
- Today
- Total
플밍
CCNotification 을 이용한 메세지 송수신과 콜백함수 본문
cocos2d-x 에서는 윈도우의 sendMessage 나 postMessage 와 같이 메세지 송,수신 방법으로 콜백을 처리할 수 있다.
인터페이스를 만들어 구현한 다음 이벤트핸들러를 세팅하는 복잡한 구현을 간단하게 처리할 수 있다.
CCNotification 이 이런 방법을 제공한다.
#ads_1
- 메세지를 수신하는 측 -
메세지를 받을 곳에서 메세지수신자를 등록한다.
bool init(){
....
CCNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(ActionLayer::receiveMessage), "hello", NULL); //메세지박스에서 메세지를 꺼내 hello 라는 글자가 들어있으면 receiveMessage 를 실행시킨다
....
return true;
}
//콜백함수
void ActionLayer::receiveMessage(CCObject* pSender){
CCString* param = (CCString*)pSender;
CCLog("%s", param->getString()); //"hi~ every one" 이 출력됨
}
- 메세지를 발신하는 측 -
어떤 이벤트가 있을때 단순히 아래와 같이 송신하면 된다.
CCString* str = CCString::create("hi~ every one");
CCNotificationCenter::sharedNotificationCenter()->postNotification("hello", str); //hello 라는 글자를 메세지 박스에 집어 넣는다
#ads_1