1. ホーム
  2. c#

[解決済み] XNAでSpriteBatchを使って矩形を描画する

2022-01-30 12:28:45

質問

XNAでspritebatchを使って矩形の図形を描こうとしています。次のようなコードがあります。

        Texture2D rect = new Texture2D(graphics.GraphicsDevice, 80, 30);
        Vector2 coor = new Vector2(10, 20);
        spriteBatch.Draw(rect, coor, Color.Chocolate);

しかし、なぜか何も描画されません。何か思い当たることはありませんか?ありがとうございます。

解決方法は?

テクスチャにデータがない。ピクセルデータを設定する必要があります。

 Texture2D rect = new Texture2D(graphics.GraphicsDevice, 80, 30);

 Color[] data = new Color[80*30];
 for(int i=0; i < data.Length; ++i) data[i] = Color.Chocolate;
 rect.SetData(data);

 Vector2 coor = new Vector2(10, 20);
 spriteBatch.Draw(rect, coor, Color.White);