如何更新在initWithSize中创建的标签文本? 以下是initWithSize中标签的代码:
SKLabelNode *scoreLabel = [SKLabelNode labelNodeWithFontNamed:@"TimesNewRoman"];
scoreLabel.text = [NSString stringWithFormat:@"%i", score];
scoreLabel.fontSize = 30;
scoreLabel.position = CGPointMake(290, CGRectGetMidY(self.frame) - 30);
scoreLabel.zRotation = -M_PI/2;
[self addChild:scoreLabel];
随着游戏的运行,我更新了变量得分,我只是想知道如何让标签显示新的得分。
答案 0 :(得分:2)
您必须在头文件中声明scoreLabel
,然后在任何地方声明scoreLabel.text = //Your text
。
编辑:
在你的.h文件中,声明
@property (nonatomic,strong) SKLabelNode *scoreLabel;
在.m文件中,添加
@synthesize scoreLabel;
初始化标签时
self.scoreLabel = [SKLabelNode labelNodeWithFontNamed:@"TimesNewRoman"];
而不是
SKLabelNode *scoreLabel = [SKLabelNode labelNodeWithFontNamed:@"TimesNewRoman"];
答案 1 :(得分:2)
为您的SKLabelNode设置retain / strong属性。然后从您的应用程序中调用任何位置
@Property(nonatomic,retain)SKLabelNode *scoreLabel;
如果您的分数值有字符串
self.scoreLabel.Text=yourscore
如果是整数
self.scoreLabel.Text=[NSString stringWithFormat:@"%d", [yourscore intValue]]];