当前位置:  开发笔记 > IOS > 正文

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

如何解决《如何将发射器节点移到前面?》经验,为你挑选了1个好方法。

背景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];

Fogmeister.. 5

有一个SKEmitterNode叫做的财产particleZPosition.

默认值是0.0这样您需要更改此值以使粒子出现在前面.

fireEmitter.particleZPosition = 2;

zPosition实际发射节点的基本上是无能为力的,因为它是无形的.

这是因为您将粒子放到父节点上......

fireEmitter.targetNode = self;

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

如果您将其保留为nil,则粒子将被添加到发射器节点,因此它们已经位于背景前面,因为它们将位于具有zPosition 2.0的发射器节点上的zPosition 0.0处.

当然,如果你然后移动发射器,那么所有的粒子将以与发射器相同的方式移动,所以这可能不是你想要的效果.

无论如何,你现在应该排序.

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



1> Fogmeister..:

有一个SKEmitterNode叫做的财产particleZPosition.

默认值是0.0这样您需要更改此值以使粒子出现在前面.

fireEmitter.particleZPosition = 2;

zPosition实际发射节点的基本上是无能为力的,因为它是无形的.

这是因为您将粒子放到父节点上......

fireEmitter.targetNode = self;

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

如果您将其保留为nil,则粒子将被添加到发射器节点,因此它们已经位于背景前面,因为它们将位于具有zPosition 2.0的发射器节点上的zPosition 0.0处.

当然,如果你然后移动发射器,那么所有的粒子将以与发射器相同的方式移动,所以这可能不是你想要的效果.

无论如何,你现在应该排序.

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

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有