创建一个 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
正在寻找浮动相等性,这基本上永远不会是真的。您应该改用 >=
来检查球是否已经到达或通过桨的起点。
没有看到你所有的代码我不能确定,但你可能还需要考虑屏幕的哪一侧用于 >=
或 <=
用法...
我目前正在 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
正在寻找浮动相等性,这基本上永远不会是真的。您应该改用 >=
来检查球是否已经到达或通过桨的起点。
没有看到你所有的代码我不能确定,但你可能还需要考虑屏幕的哪一侧用于 >=
或 <=
用法...