在我的应用程序中,我有两个按钮和一个每秒触发一次动作的计时器。每一秒,它产生四个随机数。数字用作按钮的X和Y值,按钮移动到新点。但是,有时新点很接近,因此按钮会重叠。我如何检查以确保不会发生这种情况?我已经尝试检查按钮框架是否CGRectIntersectsRect
,但这没有任何作用。
感谢您的帮助!
答案 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随机数如果你只使用两个(据我们所知)。
但是,最终我们需要查看您的代码,否则我们无法看到您的错误。