【问题标题】:SKEmitterNode updating speed of particles already released已发布粒子的SKEmitterNode更新速度
【发布时间】:2015-01-27 04:13:59
【问题描述】:

SprikeKit中使用SKEmitterNode,粒子释放后是否可以改变速度/alpha?

我正在寻找的是一个发射粒子的粒子发射器,这些粒子是静态的,但在 x 秒后,它们开始移动。这可能吗?

【问题讨论】:

标签: ios objective-c sprite-kit skemitternode


【解决方案1】:

在看到objective-c 标签之前,我迅速写下了答案。希望没关系。

这是我的粒子文件,您可以自己尝试一下: DOWNLOAD

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)

此代码将允许您随着时间的推移为发射器的属性设置动画。

【讨论】:

  • 谢谢,但这不会修改已经发射的粒子。
  • 我找到了答案。我需要使用 alphaSequence 和 scaleSequence :stackoverflow.com/questions/27476390/…
  • 啊好的。我误会了
  • 这是你的问题(上面的链接),他的回答帮助了我,所以还是谢谢你!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 2017-08-11
  • 1970-01-01
  • 2013-12-04
  • 1970-01-01
相关资源
最近更新 更多