你好開發夥伴如何在sprite套件中緩慢轉換顏色?
我試圖在SpriteKit中慢慢地改變一個圓的顏色,從原始顏色到新顏色之間有一段時間的過渡,從一種顏色過渡到另一種顏色。我遇到的問題是我的代碼不會慢慢地改變,它只是改變,就好像我直接分配了新的顏色。這是我的實際代碼:
func changeColor(c: UIColor) {
var r:CGFloat = 0
var g:CGFloat = 0
var b:CGFloat = 0
var a:CGFloat = 0
c.getRed(&r, green: &g, blue: &b, alpha: &a)
var r1:CGFloat = 0
var g1:CGFloat = 0
var b1:CGFloat = 0
var a1:CGFloat = 0
circle.fillColor.getRed(&r1, green: &g1, blue: &b1, alpha: &a1);
let wait = SKAction.waitForDuration(0.4)
r = (r - r1)/10
g = (g - g1)/10
b = (b - b1)/10
for(var i = 0; i < 10; i++) {
let cN = UIColor(red: (r1 + r*CGFloat(i)), green: (g1 + g*CGFloat(i)), blue: (b1 + b*CGFloat(i)), alpha: 1.0)
circle.fillColor = cN
circle.strokeColor = cN
runAction(wait)
}
}
我真的相信問題出在「runAction(wait)」,但我不確定。我想知道是否有一個默認功能可以做我想做的事,但我非常懷疑它。
謝謝你們長期以來精心構思的解說大師,明天我會嘗試你的建議,我會讓你知道結果 – Adri