본문 바로가기
알면 좋은 맥, 아이폰 정보/아이폰

cocos2d-x 에서 델리게이트를 만들어 보자!!(cocos2d-x, delegate)

by snapshot 2013. 1. 18.

안녕하세요. 이번에 cocos2d-x를 하면서 델리게이트가 무지하게 필요하다는 것을 느꼈습니다. 
아이폰 개발을 할때 델리게이트가 너무 편해서 직접 만들어서 많이 썼는데요..
여기저기 찾아봐도 어떻게 하라고만 하지 c++을 잘 모르는 저한테는 어렵더라구요..
일단 예제 파일과 캡쳐한 것으로 써 보겠습니다~

예제파일 다운로드


위의 것은 델리게이트를 직접 구현하는 클랙스 헤더 부분입니다. 
내용은 일단 버튼과 라벨이 하나 있구요..
버튼 클릭시 단순히 라벨의 문장을 바꿔주는 것입니다.
메인 클래스와의 통신에서는 단지 값만 전달해주고 값을 받는 정도 입니다.





여기는 cpp 부분이구요 

주석을 참고해주세요~




메인클래스 헤더 부분입니다.

선언해주셔야겠죠?

델리게이트를 만들어 보셨더라면 아실 겁니다. 




이건 단순히  메인 클래스 init 부분에서 테스트할 레이어를 올리는 것입니다.

하지만 저기에서 testLayer->exDelegate = this;를 꼭 해주세요~ 



여기는 우리가 만든 델리게이트로 메인 클래스에서 버튼 클릭에 따라서 이벤트를 발생해주는 곳인데..

우리는 그냥 받은 인자를 로그로 찍어주고
3이라는 이유없는 int형을 리턴해주었습니다. 



이것으로 제가 작성한 내용은 끝이 났구요..
혹시라도 더 좋은 방법이 있다면 알려 주세요~
혼자 알면 우물안 개구리지만 공유 하면 모두가 칼퇴가 가능 한것 같습니다. 
ㅎㅎㅎ
지적 해주세요~

댓글