2011-11-15 8 views
0

私は、ゲーム開発者の中で全く新しいです。上記の質問に関するベストプラクティスを知りたいと思います。マップの境界線やオブジェクトに移動することを制限する

もっと説明しましょう。

ゲームボーイのゼルダのゲームのように、自由に動く(グリッドにスナップすることなく)トップダウンビューの2Dゲームを作成したいと思います。

マップの境界をどのように保存する必要がありますか?これを自動的に行う方法はありますか?たとえば、背景とテクスチャのあるテクスチャがあり、前景は黒色が透明に見えるようにし、スペース内を移動できるようにする必要があります。

ありがとうございます。

+1

それが「衝突検出」と呼ばれ、その上のWeb上の情報のトンがlitterallyありますです。 – CodeCaster

+0

ありがとう)私はそれについて検索します。あなたの答えは初めてだと思います) – bulbform

答えて

1

2D衝突の検出を容易にするために、おそらくバウンディングボックスを実装します。

基本的に、すべてのゲームオブジェクトを表す四角形を作成します。矩形の座標とサイズは、Texture2Dと同じになります(これは、指定したクラスのプロパティにするのが一般的です)。テクスチャの位置を更新するたびに、境界ボックスの位置が更新されます。

ここで衝突をチェックするには、ゲームオブジェクトをループし、境界ボックスのいずれかが交差するかどうかを確認します。

アイデアが得られたら、実装が非常に簡単です。 XNAは数学を抽象化するための数学ヘルパーも提供しています(単純な加算と減算がありますが)。

コード例と深さのより詳細な説明のために、このリンクをお試しください:http://www.dreamincode.net/forums/topic/180069-xna-2d-bounding-box-collision-detection/

関連する問題