发射器节点没有淡入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了发射器节点没有淡入相关的知识,希望对你有一定的参考价值。

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

 emitter.advanceSimulationTime(100);

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

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

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

答案

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

来自Apple文档......

宣言

var alpha: CGFloat { get set }

讨论

默认值为1.0

SKNode类不执行绘图,但它的许多子类都有。绘制节点或其任何后代时,每个像素的alpha分量乘以节点的alpha属性,然后钳制到0.0-1.0的范围。此修改后的alpha值用于将像素混合到帧缓冲区中。呈现内容的子类定义属性,这些属性确定与alpha值结合使用的混合操作,以将像素混合到父级的帧缓冲区中。

以上是关于发射器节点没有淡入的主要内容,如果未能解决你的问题,请参考以下文章

带有操作栏图标单击的 NavigationUI 导致片段淡入淡出

完成播放后,我是不是必须手动从父节点中删除发射器节点?

使用 LiveData 和 ViewModel 删除项目会导致重新发射

可以在不使用发射器和节点事件的情况下遍历 yaml-cpp 树吗?

如何在片段转换中淡出非共享视图?

保留活动中的片段状态