ページ 11

[c++]DXライブラリ 当たり判定[c言語]

Posted: 2014年7月30日(水) 18:05
by STRUCT
初めての投稿なので不慣れなところがありますがよろしくお願いいたします

それで本題の質問なのですが
座標を使って当たり判定を作りたいです

たとえば
int star[6][3]={
{250,40},{226,114},{ 151,116 },{210,161},{ 190,236},
{ 250,192},{310,236},{ 290,161},{ 349,116},{ 274,114},
};
この星形の中にAというキャラがいるとして
このAというキャラを星形から出られなくする
というのが完成形です

Aは座標{250,250}から表示してサイズが(10,10)とします

A自身の判定は
座標{250,250}から{260,240}ということ大丈夫ですよね

このstarとAをどのように比較していけばよいのか
教えてほしいです

Re: [c++]DXライブラリ 当たり判定[c言語]

Posted: 2014年7月30日(水) 18:24
by usao
10本の辺で構成された星形図形 と
4本の辺で構成された矩形 との間で判定したいということであれば

星の辺(10本) vs 矩形の辺(4本) の40パターン総当たりで交差判定を行えばよいのではないでしょうか.

(一瞬(1フレーム:1回の矩形移動処理)で
 矩形が星の外部に完全に出るような大きな移動が試みられる場合も有り得るという話ならば
 もう少し頑張らないとダメでしょうけど)

Re: [c++]DXライブラリ 当たり判定[c言語]

Posted: 2014年7月30日(水) 18:48
by STRUCT
重くなりそうですけど試してみます
回答ありがとうございます

Re: [c++]DXライブラリ 当たり判定[c言語]

Posted: 2014年7月30日(水) 19:43
by usao
例えば
「矩形の4辺のうち,矩形が動こうとしている方向側にある辺だけについて考えればよい」
だとか,状況に合わせた工夫みたいなのはあると思うので
とりあえず総当たりでやれば結果判定はできるけど重い とかいうことであれば
そういったこと等も考えてみると良いかもです.