你好开发伙伴如何在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