写游戏项目的必备功能:清屏
常用函数:system(“cls”),但是屏幕会出现光标移动导致闪屏
所以改用 光标跳转到(0,0)位置的函数 和 光标隐藏函数相结合 以实现防闪屏清屏效果
# include <stdio.h>
# include <windows.h>//gotoxy()、HideCursor()
# include <stdlib.h> //system("cls")
//让光标直接跳转到(x,y)位置的函数
void gotoxy(int x, int y)
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle, pos);
}
//隐藏光标函数
void HideCursor()
{
CONSOLE_CURSOR_INFO cursor_info = {1,0};//第二个值为0表示隐藏光标
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
int main()
{
HideCursor();//可在数据初始化部分调用
while (1)
{
gotoxy(0, 0);
// system("cls");
int i, j;
for (i = 0; i < 30; i++)
{
printf("\n");
}
for(j = 0; j < 30; j++)
{
printf(" ");
}
printf("*\n");
}
return 0;
}
本文介绍了一种在游戏项目中防止闪屏的清屏方法,通过结合使用光标跳转和光标隐藏函数,替代了传统的system('cls')函数,实现了更平滑的屏幕刷新效果。
3888






