648個のVertexPositionNormalTexture要素を持つVertexbufferがあります。これは27個の立方体であり、各立方体は24個の頂点を保持します。
最初の立方体の頂点にアクセスしたい場合は、次のように記述できます。
int startIndex = 0;
VertexPositionNormalTexture[] vertices = new VertexPositionNormalTexture[24];
vertexBuffer.GetData<VertexPositionNormalTexture>(vertices, startIndex, 24);
問題は、9番目のキューブ(24 * 9 = 216)にアクセスしたい場合です。私は書かなければなりません:
int startIndex = 216;
VertexPositionNormalTexture[] vertices = new VertexPositionNormalTexture[startIndex + 24];
vertexBuffer.GetData<VertexPositionNormalTexture>(vertices, startIndex, 24);
24個の要素にアクセスするためだけに、192個の追加スロットを作成する必要があります。Vertex.GetDataは、データを取得する同じインデックスにコピーするためです。どうすればよいですか?24個の要素を正しいサイズの配列に書き込みますか?
すべてのクラス、構造体、および関数はXNAFramework4.0からのものです