检查CGPoint是否接近另一个CGPoint

时间:2012-05-20 06:03:20

标签: iphone cgpoint

在我的应用程序中,我有两个按钮和一个每秒触发一次动作的计时器。每一秒,它产生四个随机数。数字用作按钮的X和Y值,按钮移动到新点。但是,有时新点很接近,因此按钮会重叠。我如何检查以确保不会发生这种情况?我已经尝试检查按钮框架是否CGRectIntersectsRect,但这没有任何作用。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

只是为了验证,您的CGRectIntersectsRect代码/结构看起来与此相似:

-(void)update {

// This is the method that gets called every second where your four numbers are randomly generated

// Generate random numbers here
// Position the buttons based on 2 of the random numbers

if (CGRectIntersectsRect(button1.frame, button2.frame) {

 // regenerate the four numbers
 // reposition your buttons
}

另外,我只是想知道,为什么每一秒?如果你愿意的话,也许可以在不同的线程上执行它,并且每秒做10次,这样按钮重叠不会显示太长时间,但这取决于你想要的速度我猜...还有为什么你会产生4随机数如果你只使用两个(据我们所知)。

但是,最终我们需要查看您的代码,否则我们无法看到您的错误。