发射器节点没有淡入

时间:2018-02-28 18:22:29

标签: sprite-kit

我正在尝试淡入一个需要启动的发射器节点,好像从动画开始已经传递了大约100秒,所以在我的代码中,当我设置发射器时我有这条线:

 emitter.advanceSimulationTime(100);

然后,当我需要将它添加到我的场景时,我这样做:

 worldNode.add(emitter);
 emitter.run(SKAction.fadeIn(withDuration:2.0));

但是发射器突然弹出,好像fadeIn不在那里。如果我删除advanceSimulationTime调用,发射器按预期淡入,但不幸的是我需要它。我尝试了一些不同的东西,但没有任何效果,任何提示?

1 个答案:

答案 0 :(得分:1)

将发射器嵌套在另一个SKNode上,并通过其alpha属性淡化该节点的不透明度。这将以您希望的方式为您提供活动发射器的视觉淡入,因为alpha属性沿着层次结构向下传播。

来自Apple文档...

  

声明

     

var alpha: CGFloat { get set }

     

<强>讨论

     

默认值为1.0

     

SKNode类不执行绘图,而是执行许多子类   做。绘制节点或其任何后代时,alpha   每个像素的分量乘以节点的alpha属性和   然后夹紧到0.0-1.0的范围。使用此修改的alpha值   将像素混合到帧缓冲区中。渲染的子类   content定义用于确定所使用的混合操作的属性   结合alpha值将像素混合到父级中   帧缓存。