我在另一个 SKSpriteNode 中的一个 SKSpiteNode 中有一个 SKLabelNode。目的是创建一个带有空白按钮的图形,然后为该按钮创建文本。我可以创建它,但稍后在我的代码中我想更改此标签节点的文本,但我似乎无法做到。
SKSpriteNode * barStart = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:baseColor]];
barStart.name=barName;
SKSpriteNode * playPauseButton = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:@"button"]];
playPauseButton.name=[NSString stringWithFormat: @"%@-playPauseButton",barName];
playPauseButton.position=CGPointMake( playPauseButton.frame.size.width*2.2, 0);
playPauseButton.alpha=0;
[barStart addChild:playPauseButton];
SKLabelNode * playPauseLabel = [SKLabelNode labelNodeWithFontNamed:@"HelveticaNeue-Thin"];
playPauseLabel.name=[NSString stringWithFormat: @"%@-playPauseButtonLabel",barName];
NSLog(@"playPauseLabel.name : %@",playPauseLabel.name);
playPauseLabel.position=CGPointMake(0,-5);
playPauseLabel.fontSize = 10;
playPauseLabel.horizontalAlignmentMode=SKLabelHorizontalAlignmentModeCenter;
playPauseLabel.fontColor = [SKColor grayColor];
playPauseLabel.text=@"start/stop";
[barStart addChild:playPauseLabel];
我正在尝试更改如下:
[[[[self childNodeWithName:@"bar1"] childNodeWithName:@"bar1-playPauseButton"]
childNodeWithName:@"bar1-playPauseButtonLabel"] setText:@"somethingElse"];
我得到一个错误:
No visible @interface for 'SKNode' declares the selector 'setText:'
我还尝试创建一个本地 SKNode,将 childNode 引用传递给它,并尝试使用点概念设置文本,thisLabelNode.text=@"somethingElse"
虽然这不会导致错误,但它也不会更改文本。
有任何想法吗?
谢谢,有钱