7

ゲーム グリッドを四角形の配列に分割したいと考えています。各長方形は 40x40 で、各列に 14 個の長方形があり、合計 25 列です。これは、560x1000 のゲーム領域をカバーします。

これは、ゲーム グリッドに四角形の最初の列を作成するために設定したコードです。

Rectangle[] gameTiles = new Rectangle[15];

for (int i = 0; i <= 15; i++)
{
    gameTiles[i] = new Rectangle(0, i * 40, 40, 40);
}

私はこれがうまくいくと確信していますが、物理的に見るために長方形が画面にレンダリングされないため、もちろん確認できません。デバッグ目的でやりたいことは、境界線をレンダリングするか、四角形を色で塗りつぶして、ゲーム自体で表示できるようにすることです。これが機能することを確認するためだけです。

これを実現する方法はありますか?または、これが機能することを確認できる比較的簡単な方法はありますか?

どうもありがとうございました。

4

2 に答える 2

23

最初に、長方形の白の 1x1 ピクセル テクスチャを作成します。

var t = new Texture2D(GraphicsDevice, 1, 1);
t.SetData(new[] { Color.White });

ここで、長方形をレンダリングする必要があります - Rectangle が と呼ばれていると仮定しますrectangle。塗りつぶされたブロックをレンダリングする場合は、非常に簡単Colorです。必要な色になるように色合いを設定してください。このコードを使用してください:

spriteBatch.Draw(t, rectangle, Color.Black);

国境の場合、それはより複雑です。アウトラインを構成する 4 本の線を描く必要があります (ここの長方形は ですr)。

int bw = 2; // Border width

spriteBatch.Draw(t, new Rectangle(r.Left, r.Top, bw, r.Height), Color.Black); // Left
spriteBatch.Draw(t, new Rectangle(r.Right, r.Top, bw, r.Height), Color.Black); // Right
spriteBatch.Draw(t, new Rectangle(r.Left, r.Top, r.Width , bw), Color.Black); // Top
spriteBatch.Draw(t, new Rectangle(r.Left, r.Bottom, r.Width, bw), Color.Black); // Bottom

それが役に立てば幸い!

于 2010-05-08T22:28:42.073 に答える