UIColor(r: g: b:) 无法正常工作
UIColor(r: g: b:) not working properly
我有一个名为 drawLine() 的方法,它在两点之间绘制一条线(很明显)。它有一个不断移动的起点和终点,所以每次调用 update() 方法时,都会删除该行,然后再次调用 drawLine(),创建一个新行。
func drawLine(firstPoint: CGPoint, secondPoint: CGPoint) -> SKShapeNode
{
var path = CGPathCreateMutable()
CGPathMoveToPoint(path, nil, firstPoint.x, firstPoint.y)
CGPathAddLineToPoint(path, nil, secondPoint.x, secondPoint.y)
let shape = SKShapeNode()
shape.path = path
let strength = sqrt(pow((firstPoint.x - secondPoint.x), 2) + pow((firstPoint.y - secondPoint.y), 2))
NSLog("\(strength)")
shape.strokeColor = UIColor(red: strength/3, green: 255 - strength/3, blue: 0, alpha: 1)
shape.lineWidth = 2
return shape
}
这条线从"firstPoint"延伸到"secondPoint"没有任何问题,但是rgb值,它是使用一个叫做"strength"的变量计算的,它与线的长度成正比, 似乎没有正常工作。无论如何,这条线总是黄色的,直到 "strength" 达到 765 的值(也恰好是 255 * 3),这时它突然切换为红色。为什么我没有逐渐改变?我也尝试输入绿松石的值(r:50,g:214,b:200)但我只得到灰色。为什么是这样?提前致谢 (:
RGB 值的范围是 0.0 到 1.0,而不是 0 到 255。
我有一个名为 drawLine() 的方法,它在两点之间绘制一条线(很明显)。它有一个不断移动的起点和终点,所以每次调用 update() 方法时,都会删除该行,然后再次调用 drawLine(),创建一个新行。
func drawLine(firstPoint: CGPoint, secondPoint: CGPoint) -> SKShapeNode
{
var path = CGPathCreateMutable()
CGPathMoveToPoint(path, nil, firstPoint.x, firstPoint.y)
CGPathAddLineToPoint(path, nil, secondPoint.x, secondPoint.y)
let shape = SKShapeNode()
shape.path = path
let strength = sqrt(pow((firstPoint.x - secondPoint.x), 2) + pow((firstPoint.y - secondPoint.y), 2))
NSLog("\(strength)")
shape.strokeColor = UIColor(red: strength/3, green: 255 - strength/3, blue: 0, alpha: 1)
shape.lineWidth = 2
return shape
}
这条线从"firstPoint"延伸到"secondPoint"没有任何问题,但是rgb值,它是使用一个叫做"strength"的变量计算的,它与线的长度成正比, 似乎没有正常工作。无论如何,这条线总是黄色的,直到 "strength" 达到 765 的值(也恰好是 255 * 3),这时它突然切换为红色。为什么我没有逐渐改变?我也尝试输入绿松石的值(r:50,g:214,b:200)但我只得到灰色。为什么是这样?提前致谢 (:
RGB 值的范围是 0.0 到 1.0,而不是 0 到 255。