Проблема обновления Cocos2d CCLabel для очков - PullRequest
0 голосов
/ 28 октября 2010

Я использую два вызова setScore, который выполняется в методе init, и UpdateScore, когда объект уничтожается.Когда я запускаю программу, я получаю сбой, как только вызывается UpdateScore.Кто-нибудь видит ошибки с моим кодом?Большое спасибо.

В моем файле .h есть CCLabel * score;и NSString * текст;заявлено для глобального использования.

-(void)setScore{

 scorE = 1;

 text = [[NSString alloc] initWithFormat:@"%d", scorE];

 score = [CCLabel labelWithString:text fontName:@"Marker Felt" fontSize:18];

 score.position = ccp(45, 310);

 [self addChild: score];
}

-(void)UpdateScore{

 scorE++;

 NSLog(@"score +1");

 [score setString: [NSString stringWithFormat:@"%d",scorE]];

}

1 Ответ

1 голос
/ 28 октября 2010

Это может быть возможно, если вы используете метод класса CCLabel, который автоматически высвобождает ваш объект партитуры.Попробуйте использовать варианты ниже:

1) score = [[CCLabel labelWithString:text fontName:@"Marker Felt" fontSize:18] retain]; 2) score = [[CCLabel alloc] initWithString:text fontName:@"Marker Felt" fontSize:18];

Не забудьте освободить объект счета в свой деллок (или там, где требуется).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...