SKEmitterNode: Как запустить / остановить дождь в случайное время? - PullRequest
0 голосов
/ 05 апреля 2020

Я добавил дождь в свою игру в качестве частицы SKEmitterNode, и я хочу, чтобы он отображался в случайное время. Какую функцию я должен использовать?

На всякий случай, мой код для дождя:

fun c startGame () {

    if let rain = SKEmitterNode(fileNamed: "rain.sks") {
        rain.position = CGPoint(x: frame.width, y: frame.height)
        addChild(rain)
    }

....

1 Ответ

0 голосов
/ 06 апреля 2020

Вы можете использовать действие для удаления дождя в случайное время, например:

if let rain = SKEmitterNode(fileNamed: "rain.sks") {
    rain.position = CGPoint(x: frame.width, y: frame.height)
    addChild(rain)
    let waitAction = SKAction.wait(forDuration: Double.random(in: 10.0 ... 50.0))
    let removeAction = SKAction.removeFromParent()
    rain.run(SKAction.sequence([waitAction, removeAction]))
}
...