高さが異なる複数の画像で作られた床があるゲームを作成しました.. (床は平らではありません) ifステートメントを100万回開くのではなく:
if (CGRectIntersectsRect(ball1.frame, floor1.frame)) { }
if (CGRectIntersectsRect(ball1.frame, floor2.frame)) { }
if (CGRectIntersectsRect(ball1.frame, floor3.frame)) { }
if (CGRectIntersectsRect(ball1.frame, floor4.frame)) { }
//等々...
.
1 つの if ステートメントを使用して衝突をチェックする方法はありますか? すべての UIImageView フロア ピースには、「floor1、floor2、floor3、floor4 など」という名前が付けられます。
ありがとう!
補足: CGRectIntersect コードを使用したい場合、画像を回転させます。交差をチェックしているのは、まだ画像フレームの衝突のみをチェックしているように見えるため、回転するかどうかに関係なく、同じ場所で衝突します。これを修正するためにフレームも回転できますか、それとも別のコードを使用する必要がありますか?