当我触及connect1 UIimageview
时,我想出去探测球的底部碰撞。if (CGRectIntersectsRect(ball.frame, box.frame))
{
yesno.text=@"Found the spot";
}
**这显然会检测到框架的任何部分。
如果有人能指出我正确的方向,我会非常感激。
答案 0 :(得分:1)
不要看球的框架和框架的交叉点,而是寻找球的框架与顶部与框底部对齐的矩形的交叉点。
CGRect bottom = CGRectMake(box.frame.x, box.frame.y + box.frame.height, box.frame.width, 50.0);
if (CGRectIntersectsRect(ball.frame, bottom))
{
yesno.text=@"Found the spot";
}
或者,假设球通常位于禁区内,那么简单地检查球相对于禁区的位置可能会更快:
CGFloat ballBottom = ball.frame.y + ball.frame.height;
CGFloat boxBottom = box.frame.y + box.frame.height;
if (ballBottom > boxBottom) {
yesno.text=@"Found the spot";
}