0

I am currently working on a 2D project that generates random black terrain over a loaded background. I have a sprite that is loaded and controlled and am trying to find out what the best method for identifying the color behind the sprite to code some color based collision. I have tried a bunch of tutorials on perpixel and color but they all seem dependant on a collision map being used or bounding boxes between two preloaded images IE: sprite and colliding object.

If anyone could point me in the right direction it would be greatly appriciated.

4

2 に答える 2

2

テクスチャのクエリは、比較的コストのかかる操作です。リアルタイムで行うことは避けることを強くお勧めします。実行時に手続き的に地形情報を生成しているので、それを配列に格納して参照しないのはなぜですか?

地形データを作成するためにテクスチャを合成したり、他のレンダリング操作を実行したりする必要がある場合は、次のコードを使用して、結果のレンダー ターゲットのデータをシステム メモリ内の配列にコピーできます。

var data = new Color[width * height];
texture.GetData(data);

必要以上に頻繁に実行しないようにしてください。

于 2012-07-24T20:40:49.270 に答える
0

正しい方向は、ピクセルパーフェクトな衝突から遠ざかることだと思います。ほとんどの人はそれが必要だと思い込んでいますが、実際には 99% のゲームがピクセル パーフェクト コリジョンを使用していません。これは、遅く、適切に実装するのが難しく、ほとんどの実用的なゲームではやり過ぎだからです。ほとんどのゲームでは、 AABB、円、または球体が使用されます。それらは衝突を検出するのが簡単で、ほとんどのゲームで「十分」です。ピクセル パーフェクトな衝突を使用する名前を挙げられる唯一のゲームは、オリジナルの Worms です。

このビデオも、衝突検出についてうまく説明しています: http://pyvideo.org/video/615/introduction-to-game-development (Collision Detection @1:13:20)

于 2012-07-24T20:44:00.833 に答える