私のアプリには、2 つのボタンと、1 秒ごとにアクションを開始するタイマーがあります。毎秒、4 つの乱数を生成します。数値はボタンの 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
}
また、私はちょうど疑問に思っていました、なぜ毎秒?必要に応じて別のスレッドで実行し、ボタンのオーバーラップが長く表示されないように1秒間に10回作成しますが、必要な速度によって異なります。 2つしか使用していない場合は乱数(私たちが知る限り)。
しかし、最終的にはあなたのコードを確認する必要があります。そうしないと、あなたが間違っている可能性があることを確認できません。