创建一个 if 语句,其中坐标必须位于 Swift 中的一组坐标之间

Creating an if statement where a coordinate must be in between a set of coordinates in Swift

我目前正在 Swift 中编写 PONG 游戏。我已经到了我试图让比赛用球从球员的球拍上反弹的地步。我在使用玩家桨的坐标创建 if 语句时遇到问题。我会用伪代码写出我的意思。

If the game ball is in between the right most x coordinate of the player paddle and the right most coordinate of the player paddle and the y value of the game ball is the same as the y value of the player paddle {

Do this code

}

目前,我的代码如下所示:

if GameBall.center.x <= PlayerPaddle.center.x + 50 && GameBall.center.x >= PlayerPaddle.center.x - 50 && GameBall.center.y - 5 == PlayerPaddle.center.y + 15 {
            if GameBallDirection == "W" {
                GameBallDirection = "E"
            }

但是这不起作用。有没有办法编写一个条件,要求游戏球位于玩家桨的最左侧和最右侧的 x 坐标内?我知道这可能看起来含糊不清,但我已尽力对其进行最好的解释,我们将不胜感激。

x 部分看起来不错。 y 部分:

GameBall.center.y - 5 == PlayerPaddle.center.y + 15

正在寻找浮动相等性,这基本上永远不会是真的。您应该改用 >= 来检查球是否已经到达或通过桨的起点。

没有看到你所有的代码我不能确定,但​​你可能还需要考虑屏幕的哪一侧用于 >=<= 用法...