창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳
글 수 185
CCMenuItem으로 메뉴를 생성하고
타겟과 셀렉터를 정해서
그 명령 안에서 자신을 지우게 되었을 경우
activate() 안에서 에러가 발생한다.
아직 activate()를 실행해야 되는데 remove 당했기 때문에 생긴 문제인데,
구글에서 검색해 본 결과,
https://github.com/cocos2d/cocos2d-x/pull/2439/files
이렇게 activate 시작할 때 retain()을 넣어주고
끝날 때 release하는 방법을 해결책으로 제시해 뒀다.
근데, 불행히도 저렇게 했음에도 에러가 났다.
그래서 궁여지책으로
CCDelayTime을 이용해서 0초 뒤에 자신을 지우게 해서 문제를 해결했다.
0초라고 설정해도 프로세스가 돌 때 한 사이클은 지나기 때문에
acivate가 실행되고 있는 동안에는 살아있다가
다음 사이클에서 사라지게 된다.
일단 이렇게 해결하긴 했지만 솔직히 좀 찝찝해서
더 상쾌한 해결법이 없나 모색 중이다.