Обновить значение метки в Cocos2d - PullRequest
2 голосов
/ 30 апреля 2010

Я делаю игру в cocos2d, в которой при обновлении счета старые значения счета попадают на этикетку, а новое значение перезаписывается. Я использую следующий код для отображения счета,

LblScore = [CCLabel labelWithString:[NSString stringWithFormat:@"%d",score]
                         dimensions:CGSizeMake(100, 300) 
                          alignment:UITextAlignmentCenter  
                           fontName:@"Arial" 
                           fontSize:32.0];

Из-за этого значение оценки не отображается, и все вещи сосредоточены, если у кого-нибудь есть идеи, как обновить новый счет?

Ответы [ 2 ]

8 голосов
/ 30 апреля 2010

Я не совсем понимаю, что вы делаете, потому что я не вижу весь ваш код. Но я думаю, что вы хотите это:

В вашей сцене init:

// Both of these are class variables
score = 0;
LblScore = [CCLabel labelWithString:[NSString stringWithFormat:@"%d",score] dimensions:CGSizeMake(100, 300) alignment:UITextAlignmentCenter fontName:@"Arial" fontSize:32.0];

// Position the score, wherever you want it
[LblScore setPosition: CGPointMake(300, 240)];

Когда ваш счет меняется:

score++ // Not really, but your score changes somehow...
[LblScore setString: [NSString stringWithFormat:@"%d",score]];

Эта часть, вероятно, будет в методе setScore: или changeScore:, который изменяет значение вашей внутренней оценки и одновременно меняет метку.

0 голосов
/ 01 мая 2010

Решение моей проблемы заключается в том, что мне нужно определить объявление метки в методе инициализации - (id), там в значении, указанном в любом месте, где не будет перезаписи значений.

Я попробовал, и это работает, но все же спасибо всем, кто оказал мне помощь

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