0

我有下面的功能来显示一个发射器。它应该根据传递给函数的颜色来选择哪个请求文件用于发射器。sks 文件已根据它们的颜色创建和命名,它们在 Xcode 中显示正确的颜色。

但是,当在模拟器或设备上运行时,似乎不会尊重 sks 文件中的颜色。无论传入什么颜色,发射器都显示相同的粒子颜色。顺便说一句,这是一个基于火花的发射器。

有什么想法我可能做错了吗?

func showEmitter(theColor:String){
    var ourEmitterName:String?
    switch(theColor) {
        case "black","white":
        ourEmitterName = "blackwhiteemitter"
    default:
        ourEmitterName = "\(theColor)emitter"
    }

    let emitterPath = NSBundle.mainBundle().pathForResource(ourEmitterName, ofType: "sks")

    let thisEmitter:SKEmitterNode = NSKeyedUnarchiver.unarchiveObjectWithFile(emitterPath!) as SKEmitterNode


    thisEmitter.zPosition = SceneLevel.background.rawValue
    self.addChild(thisEmitter)



}

感谢您的帮助 - 肯

4

1 回答 1

2

我发现了问题。在我的发射器中,我将混合模式设置为“添加”。在我将其更改为“Alpha”后,一切正常。

不知道为什么会解决它,因为我不知道“添加”到了什么。

于 2015-02-07T14:24:32.730 回答