添加分数标签 Cocos2d 3.0



我的分数有一个整数:

int score=0;

我知道如何添加到分数中,我只是不知道如何显示它

这就是我所拥有的,但我很确定它是错误的:

CCLabelTTF *scorelabel = [CCLabelTTF labelWithString:@"score" fontName:@"Verdana-Bold" fontSize:18.0f];

int score=0;
CCLabelTTF *scorelabel = [CCLabelTTF labelWithString:@"score" fontName:@"Verdana-Bold" fontSize:18.0f];
[self addChild:scorelabel];

关于如何在现场显示分数的任何建议?

谢谢

立即编码

int score=0;
CCLabelTTF *scorelabel = [CCLabelTTF labelWithString:[NSString stringWithFormat:@"score: %d",score] fontName:@"Verdana-Bold" fontSize:18.0f];  **The warning**
scorelabel.positionType = CCPositionTypeNormalized;
scorelabel.position = ccp(0.0f, 0.0f);
[self addChild:scorelabel];

后退按钮

CCButton *backButton = [CCButton buttonWithTitle:@"[ Menu ]" fontName:@"Verdana-Bold" fontSize:18.0f];
backButton.positionType = CCPositionTypeNormalized;
backButton.position = ccp(0.85f, 0.95f); // Top Right of screen
[backButton setTarget:self selector:@selector(onBackClicked:)];
[self addChild:backButton];

您需要将标签添加到场景中。如果你在场景的 init 方法中,你可以使用以下行:

[self addChild:scorelabel];

此外,分数标签包含文本"分数",但不包含实际分数。如果要包含分数,请将标签的创建更改为以下内容:

CCLabelTTF *scorelabel = [CCLabelTTF labelWithString:[NSString stringWithFormat:@"score: %d",score] fontName:@"Verdana-Bold" fontSize:18.0f];

@connor建议的最后一个解决方案是正确的。我怀疑您可能遇到了重叠层的问题(我也面临同样的问题,并且了解通常很难弄清楚)。

@implementation HelloWorldScene {
  //...
  CCLabelTTF * _label;
}
- (id)init
{
  self = [super init];
  //...
  _button     = [CCSprite spriteWithImageNamed:@"button@2x.png"];
  _label      = [CCLabelTTF labelWithString:@"A Button" fontName:@"Helvetica Neue" fontSize:14.0f];
  _button.position      = ccp( 100.0f, 100.0f);
  _label.position       = ccp( 100.0f, 100.0f);
  [self addChild:_button    ]; //make sure a button or any other layer goes before the label
  [self addChild:_label     ]; //label or any kind of text must be added last
}

最新更新