我想我做得很好,但无论如何我没有看到我的文字。官方文档很差(或 SDL 2 已过时)。
if (TTF_Init())
printf("%s\n", TTF_GetError());
font = TTF_OpenFont("Fonts/DinCompRegular.ttf", 24);
if (!font)
printf("%s\n", TTF_GetError());
SDL_Color fontColor = { 255, 0, 0, 255 };
u16 text[] = { '2', 's', 'ä', 'Щ' };
SDL_Surface *info = TTF_RenderUNICODE_Solid(font, text, fontColor);
SDL_Rect rect = { info->w, info->h, 0, 0 };
SDL_Surface *place = SDL_CreateRGBSurface(0, info->w, info->h, 32, 0, 0, 0, 0);
在主循环中:
SDL_BlitSurface(info, 0, place, &rect);
SDL_FreeSurface(info);
SDL_RenderPresent(renderer);