ページ 1 / 1
当たり判定についてです
Posted: 2010年12月01日(水) 18:11
by Wpa
当たり判定がなかなか理解できません
用は範囲を作って接触したら何かする。ですよね
この範囲を作る。がわからないのです・・・
失礼かと思いますがサンプルを2つ位書いてくださいませんか?(比較できるように2つ)
Re: 当たり判定についてです
Posted: 2010年12月01日(水) 18:19
by softya(ソフト屋)
プログラムだけよりわかりやすと思いますので、こちらを読まれてはどうでしょうか?
「C言語~ゲームプログラミングの館~」
s11. 当たり判定。
http://dixq.net/g/54.html
「2Dゲームの当たり判定」
http://www5f.biglobe.ne.jp/~kenmo/progr ... 2d/2d.html
その上で分からないことを聞いて頂ければと思います。
Re: 当たり判定についてです
Posted: 2010年12月01日(水) 19:00
by Wpa
すみません。
自分はプログラムを書いてもらったほうが、より細かく理解できるので(出来れば)お願いします
っていうかx^2 + y^2 = range^2を理解できないので
こいつとこいつに当てはまる部分を見つけて、書き方を理解するってのが、一番手っ取り速いなと思いまして
Re: 当たり判定についてです
Posted: 2010年12月01日(水) 19:19
by softya(ソフト屋)
Wpa さんが書きました:すみません。
自分はプログラムを書いてもらったほうが、より細かく理解できるので(出来れば)お願いします
っていうかx^2 + y^2 = range^2を理解できないので
こいつとこいつに当てはまる部分を見つけて、書き方を理解するってのが、一番手っ取り速いなと思いまして
じゃあ、円の当てり判定は
「C言語~ゲームプログラミングの館~」
s11. 当たり判定。
の方はプログラムが書かれていますので省略します。
四角の当たり判定です。
四角aは、(ax1,ay1)-(ax2,ay2)
四角bは、(bx1,by1)-(bx2,by2)
の座標だとします。
当たり判定関数はこうなります。
コード:
int hit(int ax1,int ay1,int ax2,int ay2,int bx1,int by1,int bx2,int by2)
{
// 衝突したらTRUEを返す。
if( ax1<bx2 && bx1<ax2 && by1<ay2 && ay1<by2 ) {
return TRUE;
}
return FALSE;
}
Re: 当たり判定についてです
Posted: 2010年12月01日(水) 19:34
by Wpa
すみません、返事が遅れました(汗)
当たり判定ですが何とかできました!ありがとうございます!
それでは解決ということで・・・