【问题标题】:spritekit: trouble with particle keyframe sequencespritekit:粒子关键帧序列的问题
【发布时间】:2015-02-13 02:19:57
【问题描述】:

这应该非常简单。我试图让我的粒子使用关键帧序列淡出..但是当我使用关键帧序列时,它们根本不会淡出。不知道我做错了什么。

粒子创建:

static func debris(size: Int) -> Array<SKEmitterNode> {
    if size > 5 {
        fatalError("we don't have that much debris")
    }

    var debrisArr: [SKEmitterNode] = []

    for i in 1...size {
        let debris: SKEmitterNode = SKEmitterNode(fileNamed: "debris")
        debris.particleTexture = SKTexture(imageNamed: "debris\(i)")
        convertNumRef(&debris.particleScale)
        convertNumRef(&debris.particleScaleRange)
        debris.particleRotationSpeed = debris.particleRotationSpeed * CGFloat.randomSign()
        // THE PART WE CARE ABOUT
        debris.particleAlphaSequence = SKKeyframeSequence(keyframeValues: [0.5, 1.0, 0.0], times: [0.0, 3.0, 4.0])

        debrisArr.append(debris)
    }

在此处向游戏场景添加粒子

func makeDebris(){
    for debrisEmitter in self.debris {
        debrisEmitter.resetSimulation()
        debrisEmitter.position = self.position
        self.gameScene.gameLayer.addChild(debrisEmitter)
        debrisEmitter.runAction(SKAction.removeFromParentAfterDelay(10))
    }
}

我也尝试过使用更简单的示例。

fire 是 spritekit 默认的“fire”粒子

let fire = SKEmitterNode(fileNamed: "MyParticle")
fire.particleColorSequence = SKKeyframeSequence(keyframeValues: [SKColor.blueColor(), SKColor.blueColor(), SKColor.yellowColor()], times: [0.0, 1.0, 2.0])
fire.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
self.addChild(fire)

发射器只发射蓝色粒子。它只是选择数组中的第一个颜色。我一定是错过了什么。

【问题讨论】:

    标签: ios swift sprite-kit skemitternode


    【解决方案1】:

    好吧,我误会了。时间不是以秒为单位的时间。它们是粒子生命周期的一部分

    debris.particleLifetime = 8
    debris.particleAlphaSequence = SKKeyframeSequence(keyframeValues: [1.0, 1.0, 0.0], times: [0.0, 0.7, 1.0])
    

    【讨论】:

    • 谢谢。 SpriteKit 文档还有很多不足之处。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 2015-11-28
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多