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