SKEmitterNode更新已释放的粒子的速度

时间:2015-01-27 04:14:00

标签: ios objective-c sprite-kit skemitternode

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

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

1 个答案:

答案 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)

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