SpriteKit: как размыть движение узла, как падающую звезду

Я хочу размыть движение быстро движущихся узлов. Я должен выглядеть так, как будто он исчезает за движением. Есть ли какое-то простое решение для архивирования этого?

Должно как-то выглядеть это движение:

введите здесь описание изображения

Заранее спасибо!

Обновить

Я пытался вызывать это каждые 0,0X секунд:

 for child in self.allNodes{          
            let node = SKSpriteNode(color: child.color, size: CGSizeMake(size, size))
            node.position = child.position
            self.addChild(node)
            node.runAction(SKAction.fadeOutWithDuration(0.2))
}

Проблема в том, что это решение слишком дорогое. Это должно быть намного проще. :/


person Jonas    schedule 13.11.2015    source источник
comment
Взгляните на это, если вас интересует эффект размытия: stackoverflow.com/a/19734016/3402095 видите, вы говорите, что излучатель частиц для вас дорог, а не то, что вы ищете. Вы говорите, что вам просто нужно, чтобы узел исчез, верно? Тогда почему бы просто не использовать fadeOut SKAction?   -  person Whirlwind    schedule 13.11.2015
comment
Мне не нужно, чтобы узел исчезал. Мне нужно, чтобы след узла исчез. (Как падающая звезда)   -  person Jonas    schedule 13.11.2015
comment
Ну ладно... В таком случае самым простым и, вероятно, наиболее эффективным решением будет SKEmitterNode (SpriteKit в значительной степени оптимизирован для этого). Но это только я :) Также, возможно, вы можете попробовать предопределенную анимацию (animateWithTextures).   -  person Whirlwind    schedule 13.11.2015


Ответы (1)


Вы можете создать собственный SpriteKit Particle File с эффектом fire. Затем измените его SpriteKit Particle Emmitter так, как вы хотите, чтобы создать нужный вам эффект. И создайте SKEmitterNode с этим эффектом частиц следующим образом:

// Create path name to file with particle effect
let sparkEmitterPath = NSBundle.mainBundle().pathForResource("Spark", ofType: "sks")!

// Create SKEmitterNode from this file
let sparkEmiter = NSKeyedUnarchiver.unarchiveObjectWithFile(sparkEmitterPath) as SKEmitterNode

// Configure it 
sparkEmiter.position = point
sparkEmiter.name = "sparkEmitter"
sparkEmiter.zPosition = 0
sparkEmiter.targetNode = self

// Add to Scene
self.addChild(sparkEmiter) 

В примере имя файла Spark.sks

person Alexey Pichukov    schedule 13.11.2015
comment
спасибо за ваш ответ, но это слишком дорого для моего проекта. Эффект не должен сверкать. Узел просто должен медленно исчезать - person Jonas; 13.11.2015