当たり判定についてです

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Wpa
記事: 11
登録日時: 13年前

当たり判定についてです

#1

投稿記事 by Wpa » 13年前

当たり判定がなかなか理解できません
用は範囲を作って接触したら何かする。ですよね
この範囲を作る。がわからないのです・・・
失礼かと思いますがサンプルを2つ位書いてくださいませんか?(比較できるように2つ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 当たり判定についてです

#2

投稿記事 by softya(ソフト屋) » 13年前

プログラムだけよりわかりやすと思いますので、こちらを読まれてはどうでしょうか?

「C言語~ゲームプログラミングの館~」
s11. 当たり判定。
http://dixq.net/g/54.html

「2Dゲームの当たり判定」
http://www5f.biglobe.ne.jp/~kenmo/progr ... 2d/2d.html

その上で分からないことを聞いて頂ければと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Wpa
記事: 11
登録日時: 13年前

Re: 当たり判定についてです

#3

投稿記事 by Wpa » 13年前

すみません。
自分はプログラムを書いてもらったほうが、より細かく理解できるので(出来れば)お願いします
っていうかx^2 + y^2 = range^2を理解できないので
こいつとこいつに当てはまる部分を見つけて、書き方を理解するってのが、一番手っ取り速いなと思いまして

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: 当たり判定についてです

#4

投稿記事 by softya(ソフト屋) » 13年前

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;
}
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Wpa
記事: 11
登録日時: 13年前

Re: 当たり判定についてです

#5

投稿記事 by Wpa » 13年前

すみません、返事が遅れました(汗)
当たり判定ですが何とかできました!ありがとうございます!
それでは解決ということで・・・

閉鎖

“C言語何でも質問掲示板” へ戻る