我正在尝试使用 SDL_ttf 在 C 中制作游戏,以在每次刷新显示时显示分数。代码如下所示:
SDL_Surface *score = NULL;
TTF_Font *font;
SDL_Color color = { 255, 255, 255 };
font = TTF_OpenFont( "/home/sophie/Bureau/snake/data/ubuntu.ttf", 28 );
if (font == NULL) {
printf("%s\n", TTF_GetError());
}
score = TTF_RenderText_Solid( font, "score to display", color );
SDL_BlitSurface( score, NULL, screen, NULL );
SDL_Flip(screen);
当我启动游戏时,一切正常,但一段时间后游戏崩溃并出现以下错误:
Couldn't open /home/sophie/Bureau/snake/data/ubuntu.ttf
libgcc_s.so.1 must be installed for pthread_cancel to work
Abandon (core dumped)
我尝试了不同的字体,但我仍然有这个问题。然后我在游戏的主循环中使用了一个计数器,发现游戏总是在第 1008 次之后崩溃,无论我希望它以何种速度运行(在蛇中,当你得分时,一切都会变得更快)。
我不知道问题出在哪里,也不知道错误消息到底是什么意思。
如果您有任何想法,或者我的问题表述不当,请告诉我。我看了几个论坛,没有找到与我的案例相对应的东西,我现在可以使用任何帮助!
提前致谢