画面が更新されたり、画面がちらつくことなくクリアされるコンソールゲームをいくつか見てきました。私はここで私は今のようだ何だ、数多くのソリューションを試してみた:Win32 C++コンソールのクリア画面が点滅せずに
while(true)
{
if(screenChanged) //if something needs to be drawn on new position
{
COORD coordScreen = { 0, 0 };
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD dwConSize;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsole, &csbi);
dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter(hConsole, TEXT(' '), dwConSize, coordScreen, &cCharsWritten);
GetConsoleScreenBufferInfo(hConsole, &csbi);
FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten);
SetConsoleCursorPosition(hConsole, coordScreen);
}
///printf all the time graphics on their right position with SetConsoleCursorPosition
Sleep(33.3f);
}
はそれでも、私はいくつかの最低限の点滅を取得しています。誰にでもアイデアはありますか?
ダブルバッファリングを探してこれらのゲームはWindowsコンソールアプリケーションとして書かれているのではなく、さまざまなグラフィックスモードを使用していて、グラフィックスメモリに直接ピクセルを書き込んでいるDOSアプリケーションである可能性があります。 –
@Captain最初の文章をもう一度読みます。ソースコードは彼が見た「コンソールゲーム」用ではなく、ソースコードは彼が試したものです。 –
@CodyGray Oops;) –