我正在尝试在一个发射器节点中褪色,该节点需要从动画开始时就已经传递了大约100秒,所以在我的代码中,我有这条线设置发射器:
emitter.advanceSimulationTime(100);
然后,当我需要将其添加到场景中时,我会这样做:
worldNode.add(emitter);
emitter.run(SKAction.fadeIn(withDuration:2.0));
,但是发射极突然弹出,好像Fadein甚至不在那儿。如果我删除了AdvanceMimulationTime,请按预期的方式调用发射器逐渐淡出,但不幸的是我需要它。我尝试了一些不同的事情,但没有任何效果,任何技巧?
通过其alpha
属性将发射器嵌套在另一个sknode上,并淡化该节点的不透明度。这将使您以您想要的方式使您的活动发射极淡入视觉淡出,因为alpha属性在层次结构下传播。
来自Apple Docs ...
声明
var alpha: CGFloat { get set }
讨论
默认值为1.0
sknode类不执行绘图,而是许多子类做。当绘制节点或任何后代时,alpha每个像素的组件乘以节点的alpha属性和然后夹紧范围为0.0-1.0。使用此修改后的alpha值将像素混合到帧缓冲器中。渲染的子类内容定义确定所使用的混合操作的属性结合Alpha值,将像素混合到父母的framebuffer。