【发布时间】:2014-03-20 06:48:22
【问题描述】:
为什么我的 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];
【问题讨论】:
-
Sprite Kit 不能这样工作,您应该使用 zPosition 管理节点位置,_startButton.zPosition = 1;开始 zPosition = 2;应该可以的。
-
不,不需要 zPosition。如果您将 zPosition 保留为默认值 (0),则分别对多个节点使用相同的 zPosition 值,则子数组中的顺序对具有相同 zPosition 值(和相同父节点)的节点生效。
标签: ios objective-c sprite-kit