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]

将其成功转换为一维数组?

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 回答