たとえば、10 個の長方形のスプライトがあり、ランダムな幅、高さ、位置、および z-index を使用してそれらを生成するとします。そして今、方法
-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
と呼ばれます。どのスプライトがタップされているかを知るにはどうすればよいでしょうか? タップされたポイントがスプライトの長方形の境界内にあるかどうかをチェックするテクニックがあることは知っていますが、上記の場合、四角形 A が上端の角で四角形 B の上にあり、四角形 B の上端の角が上にある場合はどうなりますか?タップされている場合、タップされているのは四角形 A である可能性があります。タッピング ポイントは実際には両方の四角形の内側にあります。
手動で行う必要があり、z-index を考慮する必要がありますか? (おそらく、最高の z-index から最低までのすべてのスプライトをループします)。
スプライトが三角形で回転している場合はどうなりますか? Cocos2d にそれを処理する組み込みの方法はありませんか?
(これは、数日前に Core Graphics のサンプル コードを実行したためです...その場合、メイン ビュー用とサブ ビュー用の 2 つのタップ イベントが発生し、どのビューを確認できるかを確認できます。ユーザーが計算を行わずにタップしたことです)