SKLabelNode在屏幕上没有显示出来

5
在私有接口中
   @property BOOL contentCreated

然后在实现过程中

//just like in Apple's example project

- (void)didMoveToView: (SKView *) view {
   if (!self.contentCreated) {
       [self createSceneContents];
       self.contentCreated = YES;
   }
}

- (void)createSceneContents {
    self.backgroundColor = [SKColor whiteColor];
    self.scaleMode = SKSceneScaleModeAspectFill;
    SKLabelNode *newGameNode = [[SKLabelNode alloc] initWithFontNamed:
        @"Helvetica"];
    newGameNode.name = @"NewGame";
    newGameNode.text = @"New Game";
    newGameNode.fontSize = 30;
    newGameNode.fontColor = [SKColor whiteColor];
    newGameNode.position = CGPointMake(100, 100);
    [self addChild:newGameNode];
}

但是当我运行时,屏幕上什么也没有显示。我做错了什么?
1个回答

6
因为您正在白色背景上显示白色文本。请尝试以下方法:
newGameNode.fontColor = [SKColor blackColor];

1
那被称为“白屏” :) - CodeSmile
我已经修改了它,虽然这是一个问题,但并没有解决它。仍然没有显示出来。还有其他的想法吗? - Lucas
除了颜色之外,代码没问题 - 在createSceneContents方法中设置断点以验证它确实被调用。或者将其内容放在场景的init方法中进行双重检查? - Batalia
我尝试过这个,我确定代码被调用了,但仍然没有任何反应...还有其他的想法吗?谢谢你的帮助。 - Lucas
2
我找到了问题所在。我需要使用initWithSize:而不是[myScene alloc] init]。谢谢大家。 - Lucas
@Lucas 这对我很有帮助。你应该把这些信息放在回答中,而不是埋在评论里。两个好处:更容易找到,我们也可以给你点赞!是的,你可以自己回答自己的问题,人们经常这样做。 - Clay Bridges

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接