我目前正在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坐标内?我知道这可能看起来很模糊,但我试图尽可能地解释它,并且感谢所有的帮助。
答案 0 :(得分:0)
x
部分看起来不错。 y
部分:
GameBall.center.y - 5 == PlayerPaddle.center.y + 15
正在寻找浮动平等,这基本上永远不会成立。您应该使用>=
来检查球是否已经到达或超过了球拍的开始。
如果没有看到您的所有代码,我无法确定,但您可能还需要考虑屏幕的哪一侧是>=
或<=
使用...