SDL学习笔记三(文字的显示)

游戏通常在适当的适合需要些文字提示,有的游戏甚至用文字的方式来表示人物的交流,通常剧情游戏都是这样的,所以文字显示也是相当重要的一部分,SDL本身好像没有支持文字显示的函数,不过,它的拓展库SDL_ttf提供了相当大的支持,可以直接使用ttf格式的字体文件,大大方便了中文显示,毕竟如果是英文,完全可以做26张图,呵呵,废话不说了,下面来看看SDL_ttf提供的几个函数


首先,和SDL一样,它有初始化函数

int TTF_Init()

初始化拓展库,这个函数乍看似乎很眼熟,恩,将TTF改成SDL确实就一样了,还有很多TTF开头的函数和类型,它的命名方式与SDL一致

函数int TTF_WasInit()检测拓展库ttf是否初始化了


与图片一样,字体库需要打开才能使用

TTF_Font *TTF_OpenFont(const char *file, int ptsize)

这个函数打开字体文件file,大小设置成ptsize,返回字体类型指针,失败时返回null

这个指针在之后写文字时都会用到


将文件写成一个图片格式,这里只介绍一个函数,毕竟中文用这个函数就够用了

SDL_Surface *TTF_RenderUTF8_Solid(TTF_Font *font, const char *text, SDL_Color fg)

这个函数使用font指向的字体库,颜色为fg,将text指向的文字写成图片,返回到Surface结构里

将这张图片画到屏幕上就等价与输出文字了,是不是很简单哈


当然,最后需要做扫尾工作

void TTF_CloseFont(TTF_Font *font)

用这个函数关掉打开的字体库

最后,相应的退出ttf模块

void TTF_Quit()


具体的字体文件在网上下载就行了,推荐一个网站哈http://www.font5.com.cn/zitixiazai/1/104.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值