こういう方法を用いることが可能な状況なのかどうかわかりませんが…
当たり判定のマスク画像みたいなのを用意するのはどうでしょうか.
例えば,「マップ全域の広さ」が(用途上十分な解像度の)ピクセル換算では W*H だとすれば…
[前処理]
・W*Hのマスク画像を用意する
・マスク画像全体を0で初期化
・島の外周上の全点について,
その点を中心とし,半径が自機の当たり判定円の半径と等しい円
をマスク画像に0ではない値で塗りつぶし描画する
・(必要があるなら島の内部領域も塗りつぶしておく)
[当たり判定の処理]
・自機の(当たり判定円の)中心位置に相当するマスク画像の画素の値を確認する.
値が0であれば,島と当たってない.0でないなら当たっている
…みたいな.

- HitMask.png (7.28 KiB) 閲覧数: 3076 回