1

2D横スクロールゲームを作成していますが、衝突について質問があります。私はさまざまな記事を読んでいますが、そのうちのいくつかは、衝突レイヤーが必要だと言っています。これは、タイルレイヤーとまったく同じスタイルですが、ビットを格納するだけです。私はこのロジックを理解していますが、タイルが実際には。というプロパティを含む構造体である場合はどうなりますかIsSolidisSolid別のレイヤーを使用する代わりに、現在のタイルかどうかを単純に確認することはできませんか?または、衝突レイヤーがあると、私が見逃していたさらなる利点が得られますか?

助けてくれてありがとう

4

1 に答える 1

5

ゲームが複数のレイヤーをサポートしている場合、それは本当に大きな問題です。

複数のビジュアルレイヤー(背景、プレイフィールド、フォアグラウンドなど)がある場合は、それらすべてのレイヤーを同じように扱うことができると便利です。衝突データを分離することは、構造的に「素晴らしい」場合があります。

それをどのように行うかはあなた次第です。個別に編集できる個別の衝突レイヤーを実装できます。ただし、衝突レイヤーを視覚的な「プレイフィールド」レイヤーと同期させておく必要があるため、これはお勧めしません。

より良い解決策は、レベルをロードするときに、プレイフィールドレイヤー(およびゲームにとって意味がある場合は他のレイヤー)からデータを抽出することにより、衝突「レイヤー」を動的に生成することです。おそらく、この「レイヤー」を完全に異なる形式で保存し、レベルのビジュアルデータに配置します。

于 2010-08-10T03:22:36.787 に答える