私はiPhoneゲームを持っています。そこには30以上のCGRectがあり、ユーザーが触れたかどうかを簡単に判断する必要があります。私はこれまで、フォロー設定を使用して、ユーザーがタッチの内側でCocos2dのCGRectに触れたかどうかを検出することを検討していました。だから私はCGRectsのベクトル(Iがobj-C++を使用しています)があります。ユーザーが多くのCGRectに触れたかどうかを素早く判断する方法
for (int i = 0; i < (int) vec_of_cgrects; i++) {
if (CGRectContainsPoint(vec_of_cgrects[i], location) {
//Do what I need to do if user touches one of the rectangles
}
}
をしかし、これはその効率的ではありません。この場合、ユーザは、特定の矩形に触れた場合、私は検出するための最良の方法を疑問に思って長方形のベクトルまたはより良い方法がある場合。
30実際には大きな数字ではありません。おそらくNSArrayとNSValueを含む "Objective-Cの方法"をやっていないことを嬉しく思います。 –
@tc:少なくとも30 ... ...そして、私はNSMutableArrayを使うつもりでしたが、ストアの構造体。そして、私はええのようだった!今では私が学んだ最初の言語であるC++を使うようになりました...私はメッセージングスタッフシステムのオブジェクトObj-Cにうんざりしています... – Dair