我正在为终端开发一个简单的 pong 克隆,并且需要一种方法来延迟“帧”的打印。
我有一个二维数组
screen[ROWS][COLUMNS]
以及打印屏幕的函数
void printScreen() {
int i = 0;
int j;
while(i < ROWS) {
j = 0;
while(j < COLUMNS) {
printf("%c", screen[i][j]);
j++;
}
i++;
}
}
似乎当我这样做时
printScreen();
usleep(1000000);
printScreen();
it will sleep
执行during printScreen()
.
任何有关在终端上制作此类动画的提示将不胜感激。也许我这样做是完全错误的。 ASCII 电影是如何完成的像这样 http://www.junauza.com/2009/08/watch-star-wars-ascii-animation-via.html?
EDIT我要使用 ncurses。谢谢两位的建议。
在Ubuntu上sudo aptitude install libncurses5-dev
并编译-lncurses
.
Ascii 电影是用 aalib 完成的,它的工作原理类似于图形显示驱动程序。大多数开发成熟的控制台应用程序和游戏的人都使用curses框架或它的一个版本,例如ncurses。走这条路线的一个真正的限制是你必须想要完整的 ptty(你不能参与其中)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)