У меня есть SKEmitterNode
, и я пытаюсь остановить его при нажатии кнопки. Добавить свой узел таким образом:Остановить SKEmitterNode для извлечения частиц
let followLine = SKAction.followPath(border.CGPath, asOffset: false, orientToPath: true, duration: 2.0)
let loopAction = SKAction.repeatActionForever(followLine)
emitterNode.targetNode = scene
emitterNode.runAction(loopAction, withKey: "loop")
addChild(emitterNode)
добавляет emitterNode к моим SKScene
и когда я хочу, чтобы остановить частицы Я перепробовал все эти возможные пути:
let action = SKAction.runBlock { [weak self] in
self?.emitterNode.particleBirthRate = 0
}
emitterNode.runAction(action)
emitterNode.removeAllActions()
emitterNode.removeFromParent()
removeAllActions()
let remove = SKAction.removeFromParent()
emitterNode.removeActionForKey("loop")
emitterNode.runAction(remove)
Излучатель не прекращается и анимация продолжается.
Вы тестируете это на Симуляторе или используете фактическое устройство? Потому что я получаю очень разные результаты, основанные на том, что я использую (устройство против sim), и на основе той версии iOS, которую я использую. – Whirlwind
вы можете разместить ссылку на свой излучатель частиц .. вместе с любым кодом, который мне нужен, чтобы это выполнялось на моем конце .. как переменная border.CGPath. Если вы сделаете это, я могу дать ему шанс. – hamobi
@Whirlwind Я тестирую на Simulator и с iOS 9.3 beta 2 и Xcode 7.3 beta 2. – BalestraPatrick