我知道還有幾個關於這方面的其他文章,但我的情況有點特別,我還沒有看到這個。SKSpriteNode沒有響應設置顏色和blendModeFactor(SpriteKit&Swift)
我在我的遊戲中有一個球形的精靈,每當我點擊它時,我想添加一個同樣精靈的彩色版本,但是具有淡入淡出效果和淡入淡出效果。
要給你一個例子代碼:
self.ball = SKSpriteNode(imageNamed: "ball")
self.ball.position = CGPoint(x: midX, y: midY)
self.ball.zPosition = 1
self.ball.size = CGSize(width: 100, height: 100)
self.touchEffect = SKSpriteNode(imageNamed: "ball")
self.touchEffect.position = CGPoint(x: 0, y: 0)
self.touchEffect.zPosition = 2
self.touchEffect.size = CGSize(width: 100, height: 100)
self.touchEffect.color = UIColor.whiteColor()
self.touchEffect.blendColorFactor = 1
self.touchEffect.alpha = 0
self.ball.addChild(self.touchEffect)
self.addChild(self.ball)
現在,到這一點......我甚至不能看到colorised的touchEffect精靈(如果我把阿爾法爲1),但同樣的原始精靈的顏色。爲什麼是這樣?
在我的touchesBegan做這樣的事:
func showTapEffect() {
let fadeIn = SKAction.fadeInWithDuration(0.3)
let fadeOut = SKAction.fadeOutWithDuration(0.3)
let sequence = SKAction.sequence([fadeIn,fadeOut])
self.touchEffect.runAction(sequence)
}
我還用它在不同的場景我非常相同的遊戲中,和它的工作。不知道爲什麼這個獨特的案例沒有。任何提示?如果你需要更多的示例代碼,請告訴我,不是我當前代碼的複製粘貼,我只是從我的內存中輸入它,所以你可能會在那裏看到一個錯字錯誤。但代碼非常相似。
(和我的精靈是不是深色或黑色)
在此先感謝。
你試過用除白色以外的顏色? – 0x141E
位置是相對的,使得觸摸效果CGPoint.zero(midX * 2意味着球的觸摸效果是關閉屏幕的) – Knight0fDragon
是的,我嘗試了redColor,但沒有工作@ 0x141E – msqar