Rag*_*ghu 4 ios sprite-kit skeffectnode swift
我正试图在我的程序中模糊SKShapenode.但是,我希望shapenode逐渐模糊,持续时间约为1秒.我如何实现这一目标?目前的代码立即模糊了它.
func generateAnimation() {
var blurAction : SKAction = SKAction.runBlock{
//the method below returns a shapeNode
var circle = self.generateImage()
var effect : SKEffectNode = SKEffectNode()
var filter : CIFilter = CIFilter(name:"CIGaussianBlur")
filter.setValue(10, forKey: "inputRadius")
effect.filter = filter
effect.addChild(circle)
self.addChild(effect)
}
Run Code Online (Sandbox Code Playgroud)
update在SKScene子类(或委托)中实现该方法.然后,在一秒钟的过程中,每次update调用方法时再次运行此行:
filter.setValue(10, forKey: "inputRadius")
Run Code Online (Sandbox Code Playgroud)
除了传递值之外10,根据经过的时间在0到10之间进行插值.
您可能会发现每帧重新渲染模糊使得难以保持平滑的帧速率.所以你可以考虑伪装它.制作两个节点,其中一个节点具有模糊效果,并使用fadeInWithDuration/ fadeOutWithDurationactions来淡化模糊节点并淡出不模糊节点.
| 归档时间: |
|
| 查看次数: |
2095 次 |
| 最近记录: |