Swift 如何使一个对象在碰到另一个对象时改变颜色?

Swift 如何使一个对象在碰到另一个对象时改变颜色?,swift,Swift,我正在用swift制作一个屏幕保护程序,这个屏幕保护程序有一个桨和一个球,就像乒乓球一样。我试着让球碰到球拍时,球拍和球都变成随机的颜色。我将如何做到这一点 现在设置为填充白色 private func drawBall() { let ballRect = NSRect(x: ballPosition.x - ballRadius, y: ballPosition.y - ballRadius,

我正在用swift制作一个屏幕保护程序,这个屏幕保护程序有一个桨和一个球,就像乒乓球一样。我试着让球碰到球拍时,球拍和球都变成随机的颜色。我将如何做到这一点

现在设置为填充白色

 private func drawBall() {
    let ballRect = NSRect(x: ballPosition.x - ballRadius,
                          y: ballPosition.y - ballRadius,
                          width: ballRadius * 2,
                          height: ballRadius * 2)
    let ball = NSBezierPath(roundedRect: ballRect,
                            xRadius: ballRadius,
                            yRadius: ballRadius)
    NSColor.white.setFill()
    ball.fill()
}

private func drawPaddle() {
    let paddleRect = NSRect(x: paddlePosition - paddleSize.width / 2,
                            y: paddleBottomOffset - paddleSize.height / 2,
                            width: paddleSize.width,
                            height: paddleSize.height)
    let paddle = NSBezierPath(rect: paddleRect)
    NSColor.white.setFill()
    paddle.fill()
}

在我看来,你需要一个碰撞检测器。 我建议使用iOS UIDynamic,而不是实现自己的物理引擎

特别是此类UICollisionBehavior