[過去ログ] ゲームプログラミング相談室 (986レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
821(10): 02/10/28 21:14 ID:??? AAS
画像リンク[gif]:isweb43.infoseek.co.jp
こういった感じのゲームを作ろうと試みています。
フィールド上をクリックすると、キャラがそこへ歩いて行くような。
ですが、障害物なんかを遠回りして避けていくようにするにはどうすれば
いいのか見当もつきません。どうしても凹んでいるところでつっかかってしまいます。
皆様のお知恵をお貸しください。おながいします。
ちなみに言語はHSPです。
822(1): 02/10/28 22:37 ID:??? AAS
>>821
絶対に答えが出るアルゴリズムだと A* とかかねぇ。
823(1): 821 02/10/28 22:50 ID:??? AAS
>822
検索してみましたが、適当なところが見つかりませんでした。
A*とはなんでしょうか?
826(1): 02/10/28 23:47 ID:??? AAS
>>821
とりあえず障害物で行き詰まったら、障害物の表面に沿って
目標に到達できそうな位置まで移動してみるというのはどうか。
828(2): 821 02/10/28 23:55 ID:??? AAS
AA省
829: 821 02/10/28 23:58 ID:??? AAS
ずれちゃった…なんとかわかってください(汗 <図
つまり、出っ張った障害物なんかをちゃんと
キャラが通れるコースを歩いてくれるようにしたいのです
833(1): 821 02/10/29 00:28 ID:??? AAS
>>831
やはりそれしかないですかねぇ…(汗
下手したら明らかに違う方向へ歩いていって、引っかかったら
今気付いたように遠回りをする…なんかスマートじゃなくないですか(・-・;;
835: 821 02/10/29 00:34 ID:??? AAS
あーなるほどぉ…それもそうですね
どうもありがとうございます。試してみます。(_ _
839: 02/10/29 02:19 ID:??? AAS
>>821
1:現在位置から目的地までの直線を引く
2:その直線が障害物と交差していたら交差した点から
移動できる方向へ直線を引いてみる(左右どちらにも行けるならどちらも)
3:枝分かれした線分はできるかぎり目的地へ向かうように折り曲げていく
4:現在の走査位置と目的地とを結ぶ直線が
走査線の角度と同じになったら1へ戻る
N:先に目的地にたどり着いた方が正解ルート
省4
843: 821 02/10/29 07:52 ID:??? AAS
画像リンク[gif]:isweb43.infoseek.co.jp
例えば、こういう場面でカーソルのあるところをクリックすると
池の周りを遠回りして歩いていきます。
ですが、このゲームのすごいところはカクカクした動きじゃなくて
ちゃんと池の形にぴったり沿って歩いていくということです。
もしよろしければ、実際にやってみていただけませんでしょうか?
見たほうが早いと思いますので…
isweb43.infoseek.co.jp/art/yn515/kyran.zip
pc9801です。
847: 02/10/29 13:09 ID:??? AAS
>>821
外部リンク[html]:www.campus.ne.jp
を読むと多少はイメージできるかも。
2次元配列でマップを管理しているのなら,再帰関数っていうのを使って
考えていくんだけど(うまく言ったときのうれしさといったら・・・),
他の方法で管理しているとなると,上で書いているような方法しかないかな。
2次元配列を用意して,障害物のある座標に1とか入れて,再帰関数を使えばいいとは思うけど。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s