SpriteKit粒子—当场景加载时,如何设置状态已经跌倒?
我正在使用SpriteKit粒子发射器节点作为雪:
let snowEmitterNode = SKEmitterNode(fileNamed: "Snow.sks")
guard let snowEmitterNode = snowEmitterNode else { return }
snowEmitterNode.particleSize = CGSize(width: 4, height: 4)
snowEmitterNode.particleLifetime = 10
snowEmitterNode.particleBirthRate = 10
snowEmitterNode.xAcceleration = -gameSpeed
snowEmitterNode.particleLifetimeRange = 10
snowEmitterNode.position = CGPoint(x: (self.size.width/2), y: 800)
snowEmitterNode.zPosition = 80
addChild(snowEmitterNode)
它看起来很棒,但是只有一旦场景加载,它才会开始,这意味着一开始就没有雪,然后一切突然开始掉落,这显然看起来很假。是否有可能以某种方式设置已经部分落在场景负载上以避免这种状态的状态?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是。
使用
AdvanceMimulationTime(_:)
方法,通过您指定的秒数推进粒子的排放。例如
snowemitternode.advancesimulationtime(5)
参见以获取详细信息
It is.
Use the
advanceSimulationTime(_:)
method to advance the emission of particles by the number of seconds you specify.E.g.
snowEmitterNode.advanceSimulationTime(5)
See https://developer.apple.com/documentation/spritekit/skemitternode/1398027-advancesimulationtime for details