我在c ++控制台中制作太空射击游戏。 当我制作游戏简介时,我遇到了问题。 我想在背景上实现印刷星。但如果用户按任意键,则进入下一个游戏屏幕。
要实现,我创建了打印星星的线程。但是我没有实现,如果按下任何键,则用于打印星号的线程将终止。
如何退出打印星星的线程
#include "spaceShootingGame.h"
int main(void)
{
// Game Attribute Init
system("mode con cols=100 lines=41");
staticFunc::cursorHide();
// Game Intro
IntroMap map;
thread starThread(IntroMap::star);
// the thread for printing stars on background
starThread.join();
// Game Start
system("cls");
system("pause");
return 0;
}
static void star(void)
{
while (true)
{
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 23; j++)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorArr1[i]);
staticFunc::gotoxy(star1[j][0], star1[j][1]); cout << '*';
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), colorArr2[i]);
staticFunc::gotoxy(star2[j][0], star2[j][1]); cout << '*';
}
staticFunc::delay(300);
}
}
return ;
}