Используя SKEmitterNode
в SprikeKit
, можно ли изменить скорость/альфа частиц после их высвобождения?
То, что я ищу, - это излучатель частиц, который испускает частицы, эти частицы статичны, но через x секунд они начинают двигаться. Это возможно?
Используя SKEmitterNode
в SprikeKit
, можно ли изменить скорость/альфа частиц после их высвобождения?
То, что я ищу, - это излучатель частиц, который испускает частицы, эти частицы статичны, но через x секунд они начинают двигаться. Это возможно?
Я написал ответ быстро, прежде чем увидел тег Objective-C. Надеюсь, все в порядке.
вот мой файл частиц, чтобы вы могли попробовать сами: СКАЧАТЬ
let emitter = SKEmitterNode(fileNamed: "fire")
emitter.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
let time = CGFloat(2)
emitter.runAction(SKAction.sequence([
SKAction.waitForDuration(3),
SKAction.customActionWithDuration(NSTimeInterval(time), actionBlock: {
_, t in
let timePercentage = t / time // percentage of elapsed time
let maxSpeed = CGFloat(200)
emitter.particleSpeed = timePercentage * maxSpeed
})
]))
self.addChild(emitter)
этот код позволит вам анимировать свойства эмиттера с течением времени.