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

时间:2015-01-14 10:59:50

标签: swift if-statement

我目前正在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"
            }

然而,这不起作用。有没有办法写一个条件,要求Game Ball在玩家桨的左右两个x坐标内?我知道这可能看起来很模糊,但我试图尽可能地解释它,并且感谢所有的帮助。

1 个答案:

答案 0 :(得分:0)

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

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

正在寻找浮动平等,这基本上永远不会成立。您应该使用>=来检查球是否已经到达或超过了球拍的开始。

如果没有看到您的所有代码,我无法确定,但您可能还需要考虑屏幕的哪一侧是>=<=使用...