linux终端动画-延迟打印“帧”的最佳方法(C语言)

2024-04-22

我正在为终端开发一个简单的 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(使用前将#替换为@)

linux终端动画-延迟打印“帧”的最佳方法(C语言) 的相关文章

随机推荐