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

問題が見つかりました。私のエミッターでは、Blend Mode を「Add」に設定しました。「アルファ」に変更した後、すべて正常に機能しました。

何に「追加」されたのかわからないので、なぜそれが解決したのかわかりません。

于 2015-02-07T14:24:32.730 に答える