2017-04-23 181 views
0

每当我尝试制作游戏或需要快速清除屏幕的东西时,我都使用了系统(“CLS”)。我现在知道那不太好用,所以我试着用for循环来快速打印新行。虽然这工作,它看起来很奇怪,不太清楚。我见过人们尝试使用STRING清除屏幕,但每当我尝试它时,它都无法工作。如何有效清洁我的屏幕?如何有效地清除屏幕

+0

我听说在非Windows平台上使用它应该是坏的,所以我只是想甩掉这个习惯。 –

回答

0

没有标准的方法来清除屏幕。但无论如何,实际上清除终端和重绘对于许多游戏来说都会太慢而且很糟糕。

您应该使用您的操作系统的本机终端处理函数或者抽象它们的跨平台库。
我推荐ncurses,这是后者。它基本上提供了一个类似于双缓冲图形API的接口,并处理所有实际的终端转换,因此帧交换尽可能快。

+0

我只是C++的新手,所以我只是在做基本的ASCII游戏,现在还不怎么样,但我已经看到有人用cout << string(“\ n”,100);这是你不能再做的事情,因为我永远无法使它工作 –

+0

@EthanJones打印一百条换行符,将前一帧滚动到视图外(非常像'cls',实际上)。它作为一种技术工作,但正如我所说的那样非常慢。本地终端处理能够实现诸如“只需在(8,15)”处添加大写“O”的操作,并且使得更新速度更快。 – Quentin

+0

谢谢。我想我可能会找到方法来做到这一点,当我开始做图形,但在那之前,谢谢我将看看ncurses。 –