- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SDL入门〔四〕文字的显示
SDL文字的显示
在游戏中是经常需要输出文字的,如计数、提示、显示分数,这次写这个主要是为我那个俄罗斯方块计分。当然了显示分数可以用图片,也可以用专门的文字绘制函数,这里主要讲用函数这种方法。
1、下载适合VS2005使用的文字操纵库
下载地址如下:/projects/SDL_ttf/release/SDL_ttf-devel-2.0.9-VC8.zip
2、解压后拷贝文件,跟第一篇文章一样
3、配置IDE环境:
剩下的就是敲代码了
/*
作者:云飞
功能:SDL输出文字
*/
#include stdio.h
#include stdlib.h
#include SDL/SDL.h
#include SDL/SDL_ttf.h
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;
const int SCREEN_BPP = 32;
TTF_Font *font = NULL;
SDL_Surface *screen = NULL;
/*
function name:initSDL
parameter:void//none
parameter note:
return:int
1:initial SDL normally
0:initial SDL abnormally
function:initial SDL
*/
int initSDL(void)
{
//init all SDL subsystems
if (SDL_Init(SDL_INIT_EVERYTHING) == -1)
{
printf(初始化失败!\n);
return 0;
}
//init screen
screen = SDL_SetVideoMode(SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_BPP,SDL_SWSURFACE);
if (screen == NULL)
{
printf(初始化屏幕失败!请检查显卡!\n);
return 0;
}
//init ttf
if (TTF_Init() == -1)
{
printf(初始化字库失败!\n);
return 0;
}
return 1;
}
/*
function name:quitSDL
parameter:void
parameter note:
return:void
function:closs SDl
*/
void quitSDL(void)
{
//Close the font that was used
TTF_CloseFont(font);
TTF_Quit();
SDL_Quit();
}
/*
function name: loadMessage
parameter:const char *text,SDL_Color textColor,const char *FontFile,int size
parameter note:
const char *text:the text content
SDL_Color textColor:text color
const char *FontFile:font file name
int size:text size
return:SDL_Surface*
function:load font file
*/
SDL_Surface* loadMessage(const char *text,SDL_Color textColor,const char *FontFile,int size)
{
font = TTF_OpenFont(simhei.ttf,size);
if (font == NULL)
{
printf(打开字体失败!\n);
return 0;
}
return TTF_RenderText_Solid(font,text,textColor);
}
/*
我这破英语水平都能猜出前面TTF_Font TTF_OpenFont TTF_RenderText_Solid TTF_CloseFont的大概意思,
相信你更能,都是些函数不必知道它怎么写的会用就行了都是些套路,别人写好的函数,咱们就是用用
没什么难度,可以看出TTF_RenderText_Solid返回值是SDL_Surface*
*/
/*
你是否注意到了simhei.ttf这个文件,TTF是一种字库名称,兴趣的可以查查百度知道(相信你会知道的更多)
就是咱们那宋体呀楷体什么的,可以到系统的fonts(C:\Win
文档评论(0)