如何为 x 和 y 屏幕坐标的二维数组的 window 输出设置动画
How to animate window output from 2D array of x and y screen co-ordinates
我有一组二维数组(确切地说是 IntMatrix),它们在某个索引中具有值(如果值为 1,它将打印到屏幕上)。
以下是我按下按钮时填充二维数组的方式。
case IDC_SOLVE_BUTTON:
trysolve = 1;
solve2D.resize(inRowCount);
for (int i = 0; i < inRowCount; i++){
solve2D[i].resize(inColCount);
}
solve2D[0][3] = 1;
solve2D[1][3] = 1;
solve2D[1][4] = 1;
solve2D[1][5] = 1;
solve2D[2][5] = 1;
现在我在一些数组索引中有了值,我知道如何将它们打印到我的 window 上,如下所示:
for (int rowId = 0; rowId < inRowCount; rowId++){
for (int colId = 0; colId < inColCount; colId++){
check = (colId*inColCount) + (rowId);
if (solve2D[rowId][colId] == 1){
solvecheck = (colId*inColCount) + (rowId);
startCol = colId * 10;
startRow = rowId * 10;
RECT cell = { startCol, startRow, startCol + dCol, startRow + dRow };
FillRect(hdc, &cell, tBrush);
}
}
现在重要的问题是如何准确地为打印设置动画?这样它将打印一个 RECTANGLE,然后在一秒后打印后续的 RECTANGLE。我可以通过任何方式设置计时器并在代码的打印段更新 window ??
感谢这方面的一些指导。请帮忙!
您可以使用Sleep功能让程序等待1秒后再继续。如下:
Sleep(1000);
注意参数是以毫秒为单位的,所以需要1000来表示一秒
将此函数调用放在代码的适当位置即可完成。
我有一组二维数组(确切地说是 IntMatrix),它们在某个索引中具有值(如果值为 1,它将打印到屏幕上)。 以下是我按下按钮时填充二维数组的方式。
case IDC_SOLVE_BUTTON:
trysolve = 1;
solve2D.resize(inRowCount);
for (int i = 0; i < inRowCount; i++){
solve2D[i].resize(inColCount);
}
solve2D[0][3] = 1;
solve2D[1][3] = 1;
solve2D[1][4] = 1;
solve2D[1][5] = 1;
solve2D[2][5] = 1;
现在我在一些数组索引中有了值,我知道如何将它们打印到我的 window 上,如下所示:
for (int rowId = 0; rowId < inRowCount; rowId++){
for (int colId = 0; colId < inColCount; colId++){
check = (colId*inColCount) + (rowId);
if (solve2D[rowId][colId] == 1){
solvecheck = (colId*inColCount) + (rowId);
startCol = colId * 10;
startRow = rowId * 10;
RECT cell = { startCol, startRow, startCol + dCol, startRow + dRow };
FillRect(hdc, &cell, tBrush);
}
}
现在重要的问题是如何准确地为打印设置动画?这样它将打印一个 RECTANGLE,然后在一秒后打印后续的 RECTANGLE。我可以通过任何方式设置计时器并在代码的打印段更新 window ??
感谢这方面的一些指导。请帮忙!
您可以使用Sleep功能让程序等待1秒后再继续。如下:
Sleep(1000);
注意参数是以毫秒为单位的,所以需要1000来表示一秒
将此函数调用放在代码的适当位置即可完成。