SKLabelNode背后的SKLabelNode

时间:2014-03-19 22:30:59

标签: ios objective-c sprite-kit

为什么我的SKLabelNode总是在我的SKSpriteNode后面画,即使我在精灵之后添加它?

    _startButton = [SKSpriteNode spriteNodeWithImageNamed:@"start@2x.png"];
    _startButton.position = CGPointMake(self.frame.size.width/2,self.frame.size.height/2);
    _startButton.name = @"start";
    _startButton.zPosition = 1.0;
    [self addChild:_startButton];

    SKLabelNode *start = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"];
    start.text = @"Start";
    start.fontSize = 40;
    start.fontColor = [SKColor whiteColor];
    start.position = CGPointMake(self.size.width/2, self.size.height/2);
    [self addChild:start];

1 个答案:

答案 0 :(得分:4)

我很确定默认的zPosition是0,这意味着你的精灵(zPosition为1)将出现在标签的前面。尝试将SKLabelNode zPosition设置为2.较大的正数会将项目放在数字较小的数字之上。

  

默认值为0.0。正z轴投射到   查看器使z值较大的节点更接近查看器。   呈现节点树时,每个节点的高度(绝对值)   计算坐标,然后渲染树中的所有节点   从最小z值到最大z值。如果多个节点共享   在相同的z位置,对这些节点进行排序,以便绘制父节点   在他们的孩子面前,兄弟姐妹按顺序呈现   它们出现在父母的子阵列中。处理命中测试   以相反的顺序。