지난 몇 주 동안 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'
그냥 할 일을 찾았습니다. main.m에 #import "Seal.h"줄을 추가하면 이제 작동합니다. – stoshb