ページ 11

車がコース上を走行しているか判定する方法について

Posted: 2011年9月10日(土) 00:24
by Cir
 こんばんは。
 2Dレースゲームを作ろうと思っているのですが、分からないことがあり、質問させていただきます。
 質問なのですが、レーシングカーがアスファルトのコース上を走行しているのか、草地を走行しているのかの判定は、どのようにすればよいのでしょうか。
pic1.png
pic1.png (7.24 KiB) 閲覧数: 2820 回
 例えばこの図の場合だと、レーシングカーの左側のタイヤは②の草地の上を走行していますが、右側のタイヤは①のコース上にあります。
 どのタイヤがどこを走行しているのかを判定したいのですが、この処理はどのように行えばよいのでしょうか。
 自分なりに考えた方法は、コースと草地を三角形に分割し、タイヤがどの三角形上にあるのかを判定すればよいのかな、と思ったのですが、他にもよい方法がないか、と思ったのです。
 ご教示のほどよろしくお願いいたします。

Re: 車がコース上を走行しているか判定する方法について

Posted: 2011年9月10日(土) 11:01
by softya(ソフト屋)
昔だと実際に背景のタイヤの座標の地形が緑かどうかで判断したんのですが、ダブルバッファの仕組みだとそれもできませんね。
DXライブラリだとGetPixelSoftImage()で直接背景グラフィックからそれっぽいことはできるかな?

あと大雑把な当たり判定用マップを別に作るという手もありますね、これだと四角いブロックの当たり判定ですが。

Re: 車がコース上を走行しているか判定する方法について

Posted: 2011年9月11日(日) 21:16
by Cir
返信が遅くなってしまい申し訳ありません。
softyaさん、ご回答ありがとうございます。
softya(ソフト屋) さんが書きました:昔だと実際に背景のタイヤの座標の地形が緑かどうかで判断したんのですが
これが一番簡単かもしれませんね。画像の描画等にはDXライブラリを用いる予定なので、softyaさんが提示されたGetPixelSoftImage関数が使えそうです。
softya(ソフト屋) さんが書きました:あと大雑把な当たり判定用マップを別に作るという手もありますね、これだと四角いブロックの当たり判定ですが。
この方法で大まかな判定をして、さらに別な方法で細かな判定をすれば、高速かつ正確な判定が出来そうですね。検討してみます。

softyaさんの1つめの方法と2つめの方法について、どちらがよいか試してみます。

Re: 車がコース上を走行しているか判定する方法について

Posted: 2011年9月15日(木) 23:44
by Cir
softyaさんが提案してくださった四角いブロックの当たり判定ではんていすることにしました。
ご回答ありがとうございました。