2013-03-24 3 views
0

나는 (Pablo Ruiz의 책에서) cocos2d에 게임을 쓰고 있습니다. 지금은 일시 정지 화면을 만들 수 있고, 책에 따라, 나는 (.H 파일에) AppDelegate.m의 새로운 기능을 만들 필요가 : 나는 오류를 받고 있어요SpriteKit - AppDelegate 사용 - 선언되지 않은 식별자

+(AppDelegate *) get { 

return (AppDelegate *) [[UIApplication sharedApplication] delegate]; 
} 

을하십시오 예상 유형; 기대되는 표현; 메시지 보내기 시작시 '['를 보내지 마십시오. 선언되지 않은 식별자 'AppDelegate'사용.

-(void)resume 
{ 
if(![AppDelegate get].paused) 
{ 
    return; 
} 
[AppDelegate get].paused = NO; 
[self onEnter]; 
} 

-(void)onExit 
{ 
if(![AppDelegate get].paused) 
{ 
    [AppDelegate get].paused = YES; 
    [super onExit]; 
} 
} 

-(void)onEnter 
{ 
if(![AppDelegate get].paused) 
{ 
    [super onEnter]; 
} 
} 

그리고 오류의 또 다른 세트는군요 : : 사용 선언되지 않은 식별자의 'AppDelegate에'4 번을 GameScene.m라는 또 다른 파일에서

는, 나는 그 기능을 만들었습니다.

누군가가 그 오류를 제거하는 방법을 설명해 주시겠습니까?

@class AppDelegate; 

이 컴파일러를하게됩니다 클래스 AppDelegate의 존재를 알고

+0

GameScene 파일에서 AppDelegate를 올바르게 가져 왔습니까? –

+1

팁 : 책에서 배울 경우 책에서 설명되었거나 사용 된 동일한 버전의 소프트웨어를 사용해야합니다. 이 문제가 해결되면 비슷한 수십 가지가 기다리고 있습니다. – LearnCocos2D

답변

1

코코스 2D 2.0? 그런 다음 AppController를 사용하십시오.

#import "AppDelegate.h" 

AppController *app = (AppController*)[UIApplication sharedApplication].delegate; 
+0

Thanks. 나는 내일 그것을 시도 할 것이고, 그것이 도움이되는지 당신에게 말할 것입니다. 그런데 누락 된 유형에 대해서는 어떨까요? –

+0

아무 도움이되지 않습니다. 내가 무엇을하더라도, 나는 여전히 같은 오류를 받는다. 누군가 내게 해결책을 줄 수 있겠는가? 왜냐하면 나는 그것을 모른다. –

+0

위의 내용을 게시 한 내 프로그램에서 AppController를 사용하는 방법을 말해 줄 수 있습니까? –

1

은 당신의 GameScene.h에 다음을 추가 한 확인하십시오. 그리고 당신의 GameScene.m에 :이가 할 수

#import "AppDelegate.h" 

당신은 AppDelegate에 회원들과 방법에 액세스 할 수 있습니다.

+0

감사합니다. 몇 가지 문제가 해결되었지만 더 많은 문제가 있습니다. 첫째, 오류가 발생했습니다. 수신자 'AppDelegate'는 전달 클래스이며 해당 @interface가 존재하지 않을 수 있습니다. '일시 중지됨'속성은 전달 클래스 개체 'AppDelegate'에서 찾을 수 없습니다. 이 두 가지 오류는 각각 5 번 반복됩니다.) AppDelegate.m과 관련하여 또 하나의 오류가 있습니다. - 예상되는 유형입니다. –

+0

AppDelegate를 #import하지 않는 .m 파일에서'AppDelegate'의 멤버에 액세스하려고하는 것처럼 들립니다. #import를 헤더 파일에 추가하십시오. 이것은 좋은 스타일이 아니므로 피해야합니다. 전방 선언의 개념에 익숙해 지십시오. 이 링크 참조 : http://stackoverflow.com/a/5191507/921573 –

+0

안녕하세요. 나는 모든 곳에서 모든 것을 가져 왔고, 아직도 아무것도 가져 오지 않았다. 아직도 내가 처음에 언급 한 오류를 받는다. 무엇을해야합니까? –

관련 문제