【发布时间】:2011-01-21 01:32:59
【问题描述】:
我正在尝试创建控制台乒乓球游戏,但遇到了以下问题。 我有以下内容:
int main()
{
while(1)
{
clearScreen();
std::stringstream sstr;
for(int i = 0; i < 20; ++i)
{
sstr << "Mooooooo \n";
}
printf(sstr.str().c_str());
restThread(50);
}
return 0;
}
我期望的输出是 Moo 被写入 20 次并且屏幕内容永远不会真正改变。然而它时不时地闪烁。我怀疑这是因为输出在完全绘制之前显示在屏幕上。有没有解决的办法?例如,在所有字符都绘制到屏幕上之前不向用户显示任何内容?
谢谢
【问题讨论】:
-
同样,C++ 对控制台输出的作用很小(
cout甚至不需要真正进入控制台,这只是惯例)。什么平台?研究 SDL 或 SFML 等现成的简单引擎可能会更好。 -
@GMan 我通常使用 OpenGL 和/或 SDL 制作游戏,我只是为了好玩和新颖而尝试这个。我正在尝试针对 Windows 和 Linux