【发布时间】:2011-07-02 16:48:16
【问题描述】:
我有两个图像(image1 和 image2)。图 2 在屏幕上移动。当图像 2 接近图像 1(20 像素)时,我想“做点什么”。我该怎么做?
【问题讨论】:
-
到目前为止你尝试了什么?
标签: iphone cocoa-touch animation uiimageview pixel
我有两个图像(image1 和 image2)。图 2 在屏幕上移动。当图像 2 接近图像 1(20 像素)时,我想“做点什么”。我该怎么做?
【问题讨论】:
标签: iphone cocoa-touch animation uiimageview pixel
图像 2 不能移动,除非您的应用中的某些东西移动它。在代码中找到您移动图像 2 的位置,然后执行以下操作之一或类似操作:
【讨论】:
创建一个框架,将 20 像素添加到 image1 框架的每一侧:
CGRect image1Frame = image1.frame;
CGRect collisionFrame = CGRectMake(image1Frame.origin.x-20.0, image1Frame.origin.y-20.0, image1Frame.size.width+20.0, image1Frame.size.height+20.0);
然后只检查image2的frame是否与collisionFrame碰撞:
CGRectIntersectsRect(image2.frame, collisionFrame);
【讨论】:
您可以尝试创建一个当前大小为 Image + 21 像素的 CGRect,创建另一个 Image 的 CGRect,然后使用:
CGRectIntersectsRect(CGRect1, CGRect2)
【讨论】: