0

LPD3DXLINE は 1D のみを受け入れるため、2D 配列を 1D 配列に変換します。そのため、描いた線を画面に残して、別の新しい線を引くことができます。

D3DXVECTOR2 lineVertices[newLine][currentLine]

for (int i=0; i < noOfNewLine; i++)
    line->Draw(lineVertices[i], 2, D3DCOLOR_XRGB(0, 0, 0));

私がに変更した場合

D3DXVECTOR2 lineVertices[currentLine][newLine]

どうしようかな

lineVertices[i]

1次元配列に正常に変換するには?

4

1 に答える 1

1

なぜ 2D を 1D に変換する必要があるのですか? C\C++ の任意の配列は、既に 1d としてメモリに格納されています。最初の要素のアドレスをポインタに割り当てるだけです

p = &lineVectices[0][0];

wherepは配列型へのポインタです。そして、繰り返しますp

for (int i=0; i<newLine*currentLine; i++){
// do stuff with p[i]
}
于 2013-06-20T17:31:23.603 に答える