어떻게 이전의 코코스 2D 장면을 다시 시작하고 메모리를 정리합니까?올바른 cocos2d 장면 재시작?
[director replaceScene:s]
은 분홍색 화면을 표시합니다. 그것을 작동시킬 수 없습니다.
내가 만든 해결 방법은 아래에 있지만이 방법으로 앱을 종료하면 앱이 매우 느리게 실행되어 천천히 반응합니다. MainViewController.m :
- (IBAction)startScene {
[CCTexture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA8888];
if ([director runningScene]) {
[director end];
works = NO;
}
if (!works) {
EAGLView *glview = [EAGLView viewWithFrame:CGRectMake(0,0, 768, 1024)];
[self.view addSubview:glview];
[director setOpenGLView:glview];
CCLayer *layer = [PlayLayer node];
CCScene *s = [CCScene node];
[s addChild: layer];
[director runWithScene:s];
}
} 내가 현장에서 돌아가
PlayLayer.m내부 사용하여 볼 수 있습니다 :
CCDirector *d = [CCDirector sharedDirector];
EAGLView *v = [d openGLView];
[v removeFromSuperview];
응용 프로그램이있는 ScrollView 내부 디스플레이 이미지 (1280x960x32, 이미지 뷰입니다) 사용자가 버튼을 누르면 cocos2d 장면을 시작할 수 있습니다. 그런 다음 사용자는 장면을 떠나 장면 (.xib)을보고 새 장면을 찾을 때까지 이미지를 계속 탐색하여 장면을 시작할 수 있습니다.
나는 이것이 장면을 떠나는 좋은 방법이 아니라고 생각하지만, 내가 시도한 다른 모든 것은 응용 프로그램을 중단 시키거나이 분홍색 화면을 계속 두 번째로 시작하여 장면을 시작합니다. 어떻게 다시 시작합니까?
나는 최대한 빨리 그것을 확인합니다, 기억을위한 감사합니다! 내 현재의 솔루션은 다소 혼란 스럽습니다. – yosh