2017-06-17 13 views
0

私のスプライトの一部に元々赤いテクスチャがロードされています。しかし、私は)(私の方法loadPauseIconsて白にその色を変更したい:SKSpriteNodeのcolorプロパティを変更しても色は変わりません

func loadPauseIcons() { 
    let icons = ["HomeIcon", "LevelIcon", "RetryIcon"] 
    let iconSize = CGSize(width: pauseButton.size.width * 0.6, height: pauseButton.size.height * 0.6) 
    var iconY = pauseButton.position.y - pauseButton.size.height 
    for icon in icons { 
     let currentIcon = SKSpriteNode(imageNamed: icon) 
     currentIcon.position = CGPoint(x: pauseButton.position.x, y: iconY) 
     currentIcon.color = .white 
     currentIcon.size = iconSize 
     currentIcon.name = icon 
     currentIcon.zPosition = 11 

     iconY -= pauseButton.size.height * 0.35 + currentIcon.size.height 
     self.addChild(currentIcon) 
     pauseIcons.append(currentIcon) 
    } 
} 

この方法はSKSceneのtouchesBegan()メソッドで実行されます。しかし、私はまだ赤いアイコンを取得:

enter image description here

(家と3つのバーを)私はスプライトの色を変更するには何か間違ったことをやっていますか?

+0

赤と白を混ぜることはできません。赤は青と緑の値が0で、白のアイコンを使用し、赤に色を変更します。 – Knight0fDragon

+0

テクスチャの色はどうして重要ですか?画面にはまだ赤色に表示されます – Knight0fDragon

答えて

0

追加してみてください:デフォルトでは

currentIcon.colorBlendFactor = 1.0 

は、スプライトのcolorBlendFactorは、そのcolorプロパティは無視されることを意味し、0.0です。 colorBlendFactorの値が1.0に近づくほど、スプライトのcolorプロパティの多くが適用されます。

関連する問題