当前位置:网站首页>最新坦克大战2022-全程开发笔记-3

最新坦克大战2022-全程开发笔记-3

2022-07-06 09:19:00 程序员Rock

八、创建游循环

8.1 创建游戏的主体循环

int main(void) {
	init();

	createMyTank();
	createEnemyTank();

	while (1) {
		updataMap();
		updataAllTanks();
	}
	

	system("pause");
	return 0;
}

8.2 使用时间计数来优化循环

上一步的循环结构,不停的刷新,严重消耗系统的性能,必须要加以改进。最简单的方式,就使用时间计数来处理。注意,直接使用Sleep会影响到游戏的及时响应。

bool updata; // 是否更新, 并在init函数中初始化为true

int main(void) {
	init();

	createMyTank();
	createEnemyTank();

	int time = 0;
	while (1) {
		time += getDelay();
		if (time >= 20) {
			updata = true;
			time = 0;
		}
		
		if (updata) {
			updata = false;

			BeginBatchDraw();
			updataMap();
			updataAllTanks();
			EndBatchDraw();
		}
	}
	
	system("pause");
	return 0;
}

原网站

版权声明
本文为[程序员Rock]所创,转载请带上原文链接,感谢
https://rock6.blog.csdn.net/article/details/124792043