0

지난 몇 주 동안 Mac에서 코코스를 사용하려고했습니다. 이 과정에서 요요미테에게 나의 맥을 가져 왔고, 현재 버전의 XCode와 최신 코코스 버전을 가지고 있으며, SpriteBuilder에서도 마찬가지입니다. 숙련 된 프로그래머이지만 Objective-C에 익숙하지 않습니다.Peeved Penguin에서 Seal 객체에 속성을 추가하는 방법

필자는 Peeved Penguin 프로젝트를 진행할 수 있었고 지금은 수정하려고 노력 중입니다.

개체에 속성과 메서드를 추가하고 싶습니다.

코드 :

Seal.h

#import "CCSprite.h" 

@interface Seal : CCSprite 

@property int SealNbr; 

- (void) TestHi; 

@end 

Seal.m

#import "Seal.h" 

@implementation Seal 

@synthesize SealNbr; 

- (id)init 
{ 
    self = [super init]; 
    if (self) { 
     SealNbr = 4; 
     CCLOG(@"Seal %i created", SealNbr); 
//  CCLOG(@"Seal %@ created", self.initWithImageNamed); 

     CCLOG(@"Seal-1 at %f, %f", self.position.x, self.position.y); 
     self.position = ccp(450.f, 280.f); 
     CCLOG(@"Seal-2 at %f, %f", self.position.x, self.position.y); 

    } 
    return self; 
} 

- (void) TestHi 
{ 
    CCLOG(@"Hi to seal %i", SealNbr); 
} 
@end 

Main.m

CCLOG(@"RunRace Loaded"); 

CCNode *_Seal = [CCBReader load:@"Seal" ]; 
_Seal = [CCBReader load:@"Seal" ]; 

CCLOG(@"Name: %@", _Seal.name); 
CCLOG(@"Seal at %f, %f", _Seal.position.x, _Seal.position.y); 


// - A _Seal.SealNbr = 5; 
// - B [_Seal TestHi ]; 
내 개발 과정에서 어딘지 아래입니다

결과

2014-10-24 07:05:44.093 TrackTest2[22988:1782919] RunRace Loaded 
2014-10-24 07:05:44.093 TrackTest2[22988:1782919] Seal 4 created 
2014-10-24 07:05:44.094 TrackTest2[22988:1782919] Seal-1 at 0.000000, 0.000000 
2014-10-24 07:05:44.094 TrackTest2[22988:1782919] Seal-2 at 450.000000, 280.000000 
2014-10-24 07:05:44.139 TrackTest2[22988:1782919] Name: 
2014-10-24 07:05:44.140 TrackTest2[22988:1782919] Seal at 0.000000, 0.000000 

속성 이름이 표시되지 않습니다. SpriteBuilder 시간에 물개 이름을 "Frosty"로 설정했습니다. 그 일을하는 법을 모릅니다.

내가 선 labled // 주석을 해제하려고 할 때 큰 문제가 발생 - 내가 속성 SealNbr에 액세스하는 방법 TryHi, 나는 오류 메시지를받을 사용할 수 있도록, B - A와 //를 :

오류 메시지 :

Property 'SealNbr' not found on object of type 'CCNode *' 

Property 'TestHi' not found on object of type 'CCNode *' 

이 줄에 나오는 다른 질문 중 하나는 SpriteBuilder 시간 대신에 런타임에 이미지 파일을 어떻게 변경합니까?

BTW, 사용자 Aeisys는 DrBeardface가 대답 한 매우 비슷한 질문인인 August를 물었습니다. 내가 respose에 언급 된 캐스트를 시도하면, 나는 그것이 캐스트에있는이 시간을 제외하고 동일한 오류가 발생합니다.

모드로 들어가 본 코드 :

Seal *_Seal = (Seal *)[CCBReader load:@"Seal" ]; 

오류 :

Use of undeclared identifier 'Seal' 
+0

그냥 할 일을 찾았습니다. main.m에 #import "Seal.h"줄을 추가하면 이제 작동합니다. – stoshb

답변

0

main.m에

"수입 seal.h"

를 추가하는 문제를 해결할 수 있음을 발견했다.

분명한 사실 이었지만 분명히 누가 보입니까?

감사합니다.