在SKEmitterNode
中使用SprikeKit
,是否可以在粒子释放后更改粒子的速度/ alpha?
我正在寻找的是发射粒子的粒子发射器,这些粒子是静态的,但是经过x秒后,它们开始移动。这可能吗?
答案 0 :(得分:0)
在我看到objective-c标签之前,我在swift中写了答案..希望没关系。
继承我的粒子文件,以便您可以自己尝试: 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)
此代码允许您随着时间的推移设置发射器属性的动画。