score
インターフェイス宣言の後にHelloWorldLayer.hにプロパティを作成します。
@property (nonatomic, retain) int score;
次に、行の直後の.mファイルで合成します@implementation HelloWorldLayer
。
スコアを設定および取得するためのメソッドを作成します。
-(int)getScore {
return self.score;
}
-(void)setScore:(int)newScore {
self.score = newScore;
}
このinit
メソッドで、プロパティの値をゼロに設定します。
if( (self=[super init] )) {
//... other stuff
[self setScore:0]
}
setScoreメソッドを使用してスコアを更新できますが、setScoreを呼び出す別のメソッドを使用して、1回の呼び出しでさまざまな場所で使用できるようにし、2つのような特定の状況でより多くのスコアを割り当てるなどの変更を加えることをお勧めします。 0.5秒以内の衝突など。
-(void)updateScore:(int)increment {
int currentScore = [self getScore];
[self setScore:(currentScore + increment)];
}
同様に、ラベルの場合、
@property (nonatomic, retain) CCLabelTTF scoreLabel; // in header
と
@synthesize scoreLabel; // in .m file
この場合も、initメソッドで、位置、レイヤー、初期テキストなどを使用してラベルを初期化します。次に、updateScoreメソッドでそのテキストを更新できます。
-(void)updateScore:(int)increment {
int currentScore = [self getScore];
[self setScore:(currentScore + increment)];
[scoreLabel setString:[NSString stringWithFormat:@"Score: %i", [self getScore]]];
}
一般的なタスクに関する混乱を避けるために、先に進む前にチュートリアルを必ずお読みください。