我正在向父级添加一个精灵,它显示在屏幕上。然而,尽管我的 zPosition 参数,孩子是在它的父母之上。我需要按照 zPosition 中的定义来获取它。
如果只是将精灵添加到 self 而不是作为子项添加到“hjNode”,它将被正确放置。
当前结果是子节点 d5Node 放置在 hjNode(父节点)之上。
添加其他孩子时,zPosition 在添加的孩子中起作用。
在阅读编程指南时,我有一种感觉,除非我错过了什么,否则这可能是个问题。
有人知道这是否可能吗?
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
self.userInteractionEnabled = YES;
SKSpriteNode *hjNode = [SKSpriteNode spriteNodeWithImageNamed:@"Hj"];
hjNode.position = CGPointMake(150, 300);
hjNode.zPosition = 100;
hjNode.name = @"hjNode";
[self addChild:hjNode];
SKSpriteNode *d5Node = [SKSpriteNode spriteNodeWithImageNamed:@"D5"];
//d5Node.position = CGPointMake(170, 320);
d5Node.position = CGPointMake(-10, -20);
d5Node.zPosition = 1;
d5Node.name = @"d5Node";
[hjNode addChild:d5Node];
}
return self;
}