没有“钳位”候选者产生预期的上下文结果类型“ CGFloat”

时间:2018-12-24 20:24:40

标签: swift cgfloat

enter image description here

我明确地在它们之间强制转换了类型,但错误仍然存​​在

 var destX:CGFloat  = 5.0

func clamp(value: CGFloat, min: CGFloat, max: CGFloat) -> CGFloat {
if value > max {
    return max
}
else if value < min {
    return min
}
return value
}

 override func update(_ currentTime: TimeInterval) {


let ballRadius: CGFloat = 10
destX = simd.clamp(destX, min: ballRadius, max: frame.width - ballRadius) as CGFloat
let destXAction = SKAction.moveTo(x: destX, duration: 0.1)
self.main.run(destXAction)

这是代码

1 个答案:

答案 0 :(得分:2)

看看here,我看不到需要CGFloat的重载。 simd.clampfloat2float3float4double2double3double4中的一个。

要使用您的 func clamp(value:, min:, max:),请按以下方式调用:

destX = clamp(value: destX, min: ballRadius, max: frame.width - ballRadius)