gpt4 book ai didi

Swift Pong(无 SpriteKit): Detect side of paddle that the ball hit

转载 作者:搜寻专家 更新时间:2023-11-01 05:31:57 25 4
gpt4 key购买 nike

目前,我正在用 Swift(没有 SpriteKit)制作一个只有一个玩家的乒乓球游戏:球可以从视野的各个方向反弹。经过一些研究,我使用这个算法来检测碰撞:

if (rect1.x < rect2.x + rect2.width &&
rect1.x + rect1.width > rect2.x &&
rect1.y < rect2.y + rect2.height &&
rect1.y + rect1.height > rect2.y) {
// collision detected!
}

这工作正常,但我如何检测球击中 Racket 的哪一侧?

我需要知道这一点,因为:如果球击中 Racket 的底部或顶部,我会将 y 增量乘以 -1。如果球击中 Racket 的左侧或右侧,我会将 x 增量乘以 -1。

最佳答案

如果 rect1 和 rect2 都是 CGRect 那么你可以得到中间点......

rect1.midY

rect2.midY

然后您可以确定中点球(无论哪个球)高于或低于 Racket 的中点。

if rect1.midY >= rect2.midY

等等...

附带说明一下,您最好为此使用 SpriteKit。但如果你只是为了好玩而这样做,那就继续吧。希望一切顺利。 :-)

关于Swift Pong(无 SpriteKit): Detect side of paddle that the ball hit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56856298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com