heres問題マルチ画像衝突検出
私は5つのボールが画面の周りに浮かんで、側面と上下を跳ねます。それは素晴らしい仕事です。
私が今したいことは、それらのどれかが互いに衝突した場合にうまくいくことです。 、同じ検索のみ他人を
は、私は約
if (CGRectIntersectsRect(image1.frame, image2.frame))
{
}
知っているが、2つの画像のみをチェックすることを、私はすべてのそれらのそれぞれをチェックする必要があります。..
IVEはどこにでも確認したが、答えを見つけるカント事、どんなアイデア?事前に
おかげ
Spriggsy
編集:
イムはCGRectを見つけて、
ball1 = NSStringFromCGRect(image1.frame);
ball2 = NSStringFromCGRect(image2.frame);
ball3 = NSStringFromCGRect(image3.frame);
ball4 = NSStringFromCGRect(image4.frame);
ball5 = NSStringFromCGRect(image5.frame);
bingoarray = [NSMutableArray arrayWithObjects:ball1,ball2,ball3,ball4,ball5,nil];
はこの後、衝突検出に渡される配列に格納し、これを使用して方法
-(void)collision {
for (int i = 0; i<[bingoarray count]-1 ; i++) {
CGRect ballA = CGRectFromString([bingoarray objectAtIndex:i]);
if (CGRectIntersectsRect(ballA, image1.frame)) {
NSLog(@"test");
}
}
これは私が他のすべてに対して1つのボールをチェックすべきだと思います。
ボール1は他のボールに対してチェックされますが、ボール2をチェックしません。これはほとんどそこにありますか?冗長なことを避けるための楽しい小さな数学の問題です
}
ありがとうございました。 – Spriggsy
@ user1139624ロジックを表示するために私の答えを更新しました。私はベンとはうまくいきませんが、ボールが5つしかない場合は、5 + 4 + 3 + 2 + 1のテストになります。あなたが100個のボールでテストする必要がある場合、それがどれほど悪くなるか想像してください –
素晴らしい、多くのおかげで、すぐに働いた、毎日の学校の日、そしてまだデフレを学んでいる – Spriggsy