【发布时间】:2019-07-02 16:02:06
【问题描述】:
目前,我正在用 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!
}
这很好用,但是我如何检测球击中了球拍的哪一侧?
我需要知道这一点,因为:如果球击中球拍的底部或顶部,我会将 y 增量乘以 -1。如果球击中球拍的左侧或右侧,我会将 x 增量乘以 -1。
【问题讨论】:
标签: swift collision-detection pong