【问题标题】:SKEmitterNode: How to start/stop rain at random time?SKEmitterNode:如何随机开始/停止下雨?
【发布时间】:2020-04-05 12:23:26
【问题描述】:
我将雨作为 SKEmitterNode 粒子添加到我的游戏中,我希望它在随机时间显示。我应该使用什么样的功能?
以防万一,我的下雨代码:
func startGame () {
if let rain = SKEmitterNode(fileNamed: "rain.sks") {
rain.position = CGPoint(x: frame.width, y: frame.height)
addChild(rain)
}
....
【问题讨论】:
标签:
sprite-kit
skemitternode
【解决方案1】:
您可以使用一个动作在随机时间去除雨水,例如:
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]))
}