我怎么做五彩纸屑?

asd*_*dfg 9 particles ios sprite-kit swift

我基本上想要发出五彩纸屑颗粒.每个粒子都是相同的形状,但是,我希望每个粒子都是我指定的颜色选择的随机颜色.

有没有办法让每个发射的粒子都有一个随机颜色,或者我需要为每个粒子颜色单独的发射器?

Whi*_*ind 7

您可以使用单个发射器来实现您想要的效果:

import SpriteKit


class GameScene: SKScene, SKPhysicsContactDelegate {



    let emitter = SKEmitterNode(fileNamed: "particle")
    let colors = [SKColor.whiteColor(),SKColor.grayColor(),SKColor.greenColor(),SKColor.redColor(),SKColor.blackColor()]


    override func didMoveToView(view: SKView) {


        self.physicsBody = SKPhysicsBody(edgeLoopFromRect: self.frame)


        emitter.position = CGPoint(x: 200, y:300)

        emitter.particleColorSequence = nil
        emitter.particleColorBlendFactor = 1.0

        self.addChild(emitter)

        let action = SKAction.runBlock({
            [unowned self] in
            let random = Int(arc4random_uniform(UInt32(self.colors.count)))

            self.emitter.particleColor = self.colors[random];
            println(random)
        })

        let wait = SKAction.waitForDuration(0.1)

        self.runAction(SKAction.repeatActionForever( SKAction.sequence([action,wait])))


    }

}
Run Code Online (Sandbox Code Playgroud)

编辑:

尝试更改等待操作的持续时间以获得不同的结果.

您也可以使用颜色渐变(在粒子编辑器中)以达到相同的效果:

在此输入图像描述

或者,您可以使用particleColorSequenceSKKeyframeSequence来更改其生命周期中的粒子颜色.希望这可以帮助.