矩形と円の当たり判定
Posted: 2009年3月14日(土) 23:32
毎度お世話になっております、山崎です。
大阪での研究会に参加された皆さん、お疲れ様でした。
東京のほうでも同じようなイベントがあれば、参加して皆さんのお話をお伺いしたいなぁと思っております。
さて、今回の質問は矩形と円の当たり判定についてです。
こちらOSはXP,エディタはVisualStudio2008を使い始めました。
現在、X,Y,Z座標を持つアクションゲームを作っております。
キャラクターが一歩進んだ先の地形との当たり判定をする関数を作成中で、
地形となるマップは正方形として扱っており、キャラクターは円柱として扱っております。
このマップの矩形とキャラクターの足元となる円を見て、
円と接地している矩形を全て探索したいのですが
円と矩形が重なっているかどうかをどう判別すればいいのか半日考えてもわかりませんでした。
添付している画像を見ていただけるとおわかりになるかと思いますが、
矩形がマップを表しており、赤い円がキャラクターが立っている部分となります。
キャラクターが接触している矩形を水色で塗ってあります、
この水色の部分にアクセスしていき当たり判定を行っていきたいのですが、
どういう式やアルゴリズムで水色の部分を導き出せばいいのかわかりません。
キャラクターはメンバとして、現在位置X,Y,Z,円の半径Width、一歩の長さStepを持っています。
座標(X,Y)がキャラクターの足元の円の中心となっています。
マップは構造体の2次元配列で、矩形の辺は全て同じ長さです。
どのような手法で、キャラクターの立っている矩形を判別すればよいのでしょうか。
大阪での研究会に参加された皆さん、お疲れ様でした。
東京のほうでも同じようなイベントがあれば、参加して皆さんのお話をお伺いしたいなぁと思っております。
さて、今回の質問は矩形と円の当たり判定についてです。
こちらOSはXP,エディタはVisualStudio2008を使い始めました。
現在、X,Y,Z座標を持つアクションゲームを作っております。
キャラクターが一歩進んだ先の地形との当たり判定をする関数を作成中で、
地形となるマップは正方形として扱っており、キャラクターは円柱として扱っております。
このマップの矩形とキャラクターの足元となる円を見て、
円と接地している矩形を全て探索したいのですが
円と矩形が重なっているかどうかをどう判別すればいいのか半日考えてもわかりませんでした。
添付している画像を見ていただけるとおわかりになるかと思いますが、
矩形がマップを表しており、赤い円がキャラクターが立っている部分となります。
キャラクターが接触している矩形を水色で塗ってあります、
この水色の部分にアクセスしていき当たり判定を行っていきたいのですが、
どういう式やアルゴリズムで水色の部分を導き出せばいいのかわかりません。
キャラクターはメンバとして、現在位置X,Y,Z,円の半径Width、一歩の長さStepを持っています。
座標(X,Y)がキャラクターの足元の円の中心となっています。
マップは構造体の2次元配列で、矩形の辺は全て同じ長さです。
どのような手法で、キャラクターの立っている矩形を判別すればよいのでしょうか。