SDL2入门(四)显示文字

 时间:2024-10-30 04:53:47

1、这里只解释修改的代码,若想了解其余代码,请查看上一节课。首先准备ttf文件,因为我们将要用它来显示文字,我这里准备了DroidSansFallback.ttf 文件。

SDL2入门(四)显示文字
SDL2入门(四)显示文字

2、首先我们引用拓展库SDL_ttf.h头文件。

SDL2入门(四)显示文字

3、之后用TTF_Init来初始化字体。然后用TTF_Font创建的指针变量加载字体文件,TTF_OpenFont的参数:第一个为字体路径、第蘑节侍遑二个为字体大小。返回一个指针。注意:TTF_Font只能加载ttf字体文件和支持UTF-8编码,不支持换行符等特殊字符。

SDL2入门(四)显示文字

4、这里的SDL_Color存储着字体的颜色,它有四个成员变量:r、g、b、a,分别是红(red)、绿(green)、蓝(blue)、透明(alpha)。我把字体设置成白色不透明,即r:255,g:255,b:255,a:255。

SDL2入门(四)显示文字

5、利用TTF_RenderUTF8_Blended可以将字符串转换成SDL_Surface的指针变量,函数参数:第一个是TTF_Font指针变量、第二个是字符串、第三个是SDL_Color变量。

SDL2入门(四)显示文字

6、最后别忘了处理释放内存的工作。

SDL2入门(四)显示文字

7、运行结果:

SDL2入门(四)显示文字

8、代码:#include<SDL2/SDL.h>#include<SDL2/SDL_ttf.茑霁酌绡h>intmain(intargc,char**argv){SDL_Init(SDL_INIT_VIDEO);SDL_Window*window=SDL_CreateWindow("显示文字",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,720,1280,SDL_WINDOW_SHOWN);SDL_Renderer*renderer=SDL_CreateRenderer(window,-1,SDL_RENDERER_ACCELERATED);SDL_RenderClear(renderer);TTF_Init();TTF_Font*font=TTF_OpenFont("resource/DroidSansFallback.ttf",100);SDL_Colorcolor={255,255,255,255};SDL_Surface*surface=TTF_RenderUTF8_Blended(font,"english中文",color);TTF_CloseFont(font);TTF_Quit();SDL_Rectbox={0,0,surface->w,surface->h};SDL_Texture*texture=SDL_CreateTextureFromSurface(renderer,surface);SDL_RenderCopy(renderer,texture,NULL,&box);SDL_RenderPresent(renderer);SDL_Delay(2000);SDL_FreeSurface(surface);SDL_DestroyTexture(texture);SDL_DestroyRenderer(renderer);SDL_DestroyWindow(window);SDL_Quit();}

  • 魔兽世界怀旧服潜行者怎么接到亲爱的艾琳娜任务
  • 明日之后好友度等级
  • 王者荣耀五路精神礼包怎么获得
  • 鬼泣5mod怎么用
  • 手机UC浏览器如何开启章评入口功能?
  • 热门搜索
    我国的世界遗产手抄报 小英雄手抄报 小手拉大手手抄报画 感恩励志红五月手抄报 我爱数学手抄报 团结手抄报 关于欢度春节的手抄报 关于读书的手抄报花边 初中交通安全手抄报 安全小报手抄报图片