2012-12-09 6 views
0

cocos2d 뷰에서 내용 렌더링을 중단시키는 버그가 하나 있습니다. 이 버그는 Jpsarda의 UIKit과 cocos2d-x 통합에 대한 예제 프로젝트를 사용하여 재현 할 수 있습니다. 웹 사이트 링크는 http://jpsarda.tumblr.com/post/24983791554/mixing-cocos2d-x-uikit이고 프로젝트 링크는 http://dl.dropbox.com/u/12856650/Cocos2dxOnUikit.zip입니다.cocos2d-x의 이상한 버그

버그를 재현하려면 "Cocos2d-x GO!"키를 반복해서 눌러 uikit보기와 cocos2d보기간에 여러 번 트리거하면 충분합니다. 버튼을 누른 다음 두 번째보기에서 "닫기"버튼을 누릅니다. 또한 버그를 재현하는 방법을 보여주는 비디오를 작성했습니다 : http://youtu.be/EIvf-Ao6u5I. 버그는 시뮬레이터가 아닌 실제 장치에서만 발생합니다. 이 버그 때문에 사용자가 cocos2d보기와 내가 작업중인보기와 같은 uikit보기간에 자주 전환 할 수있는 응용 프로그램을 만드는 것은 꽤 어렵습니다. 지금 당장은 근본 원인을 이해할 수 없으며 아직 포럼에 대한 답변을받지 못했습니다. 가능한 원인에 대한 아이디어/의도/제안이있는 사람이 있습니까?

답변

0

이유를 찾았습니다. EAGLView는 절대로 배포되지 않으며 이로 인해 리소스 누출이 발생합니다. JPSARDA의 예제에서 버그를 해결하려면 다음 줄을 추가하면 충분합니다.

[[EAGLView sharedEGLView] release];

CCEGELView :: release 메서드가 끝날 때. 이렇게하면 JPSARDA (및 내 응용 프로그램 : D) 문제가 해결되지만 EAGLView의 수명주기를 다른 방식으로 처리하는 프로젝트에서는이 솔루션이 작동하지 않을 가능성이 높습니다.