【发布时间】:2012-01-14 07:03:02
【问题描述】:
我在完成我的第一个可用 iOS 应用程序的后期阶段。
我正在创建一个简单的 Pong 游戏,我正在使用 CGRectIntersectsRect 进行简单的碰撞检测,但我遇到了一个问题。
if(CGRectIntersectsRect(mic.frame,plosina_a.frame)) {
if(mic.center.y < (plosina_a.center.y + plosina_a.frame.size.height)) {
RychlostMice.y = -RychlostMice.y;
}
}
if(CGRectIntersectsRect(mic.frame,plosina_b.frame)) {
if(mic.center.y < (plosina_b.center.y + plosina_b.frame.size.height)) {
RychlostMice.y = -RychlostMice.y;
}
}
当我像这样使用它时,球(麦克风)会到达桨板(plosina)并开始在桨板中间以另一种方式移动。 我的编程老师设法通过添加 .frame.size.height 而不是我以前使用过的 .frame 来解决其中一个桨(_b 桨)的这个问题,但是当我对另一个桨做同样的事情时没用,不知道怎么回事。
此外,它还会产生另一个问题,有时球会卡在桨中 - 所以我正在寻找整个物体的定义,而不仅仅是一侧?
希望你能帮上忙。
【问题讨论】:
-
顶部是 _a 桨,底部是 _b 桨?如果是这样,也许可以尝试扭转你对桨 _a 的 _b.frame.size.height 所做的事情,如果这有意义的话
-
没有_a在游戏区域的底部,_b在顶部。
-
仍然尝试反转它,因为我认为 Nick Lockwood 建议使用
-而不是+ -
我不确定,但我认为如果我用 be 反转它不会改变任何东西,_b 仍然是一个运行良好的那个。
标签: objective-c ios collision-detection