如何在CMD窗口中沿水平轴平滑移动

时间:2017-10-19 08:39:43

标签: c++ arrays dictionary

我是一名学生正在尝试做项目。

我制作了一个500 * 500阵列和我的角色"■"在屏幕的中间。 CMD窗口上的可视化地图无法显示所有500 * 500阵列,因此它沿垂直轴延伸,从而可以滚动。数组被放入一个循环中并接受控制字符的箭头键命令"■"。最近我找到了一个代码,可以移动角色而无需打印整个数组:

int gotoxy(int x, int y)
{
COORD Cur;
Cur.X=x;
Cur.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Cur);
}

但这还不足以创建平滑的水平移动,更不用说将地图向左和向右延伸。每次打印所需的阵列大小都会使其口吃。

所以我想知道是否有办法将我的角色平滑地移动到没有大小的地图上。

1 个答案:

答案 0 :(得分:0)

前段时间我在cmd做了Pong游戏。使用cout每帧更新整个字段非常滞后。我们最终使用Windows.h库 - 你使用函数WriteConsoleOutput,甚至更新了整个场景的延迟。这直接访问控制台缓冲区,节省了时间。