ios如何将发射器节点移动到前面?

标签: sprite-kit ios
发布时间: 2017/4/3 15:42:54
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

背景的 zPosition 1,发射器节点 2。背景还在前面。我甚至试过更高的数字,但它不能帮助。

代码

SKSpriteNode *bg = [SKSpriteNode spriteNodeWithImageNamed:@"TiltToMove_BG"];
bg.size = self.size;
bg.zPosition = 1;
bg.position = CGPointMake(self.size.width * 0.5, self.size.height * 0.5);
[self addChild:bg];

NSString *fireEmmitterPath = [[NSBundle mainBundle] pathForResource:@"fire" ofType:@"sks"];
SKEmitterNode *fireEmmitter = [NSKeyedUnarchiver unarchiveObjectWithFile:fireEmmitterPath];
fireEmmitter.position = CGPointMake(self.size.width * 0.5, self.size.height * 0.5 - 100);
fireEmmitter.name = @"fireEmmitter";
fireEmmitter.zPosition = 2;
fireEmmitter.targetNode = self;
[self addChild:fireEmmitter];

解决方法 1:

有是一个属性的 SKEmitterNode 被称为 particleZPosition

默认值是 0.0 所以你将需要更改此设置以使粒子出现在前面。

fireEmitter.particleZPosition = 2;

zPosition的实际发射节点无关,主要是因为它是无形的。

这是因为你把粒子到父节点上...

fireEmitter.targetNode = self;

目标节点是粒子添加的位置。

如果你离开了,是零然后粒子会添加到发射器的节点,也是这样已经在背景前因为他们将会是在 zPosition 0.0 发射器节点具有 zPosition 2.0 上。

当然,如果你然后移动发射器周围,所有的粒子会然后移动发射器一样所以也许这不是你后的效果。

不管怎么说,你应该现在排序。

您可以在文档中找到此信息 SKEmitterNode

官方微信
官方QQ群
31647020