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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
Cir
記事: 32
登録日時: 14年前
住所: 近畿地方

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

#1

投稿記事 by Cir » 14年前

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

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

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

#2

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

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

あと大雑把な当たり判定用マップを別に作るという手もありますね、これだと四角いブロックの当たり判定ですが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
Cir
記事: 32
登録日時: 14年前
住所: 近畿地方

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

#3

投稿記事 by Cir » 14年前

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

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

アバター
Cir
記事: 32
登録日時: 14年前
住所: 近畿地方

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

#4

投稿記事 by Cir » 14年前

softyaさんが提案してくださった四角いブロックの当たり判定ではんていすることにしました。
ご回答ありがとうございました。

閉鎖

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