SDL系列讲解(八) SDL_ttf教程.docx

上传人:A*** 文档编号:141375811 上传时间:2020-08-07 格式:DOCX 页数:5 大小:271.33KB
返回 下载 相关 举报
SDL系列讲解(八) SDL_ttf教程.docx_第1页
第1页 / 共5页
SDL系列讲解(八) SDL_ttf教程.docx_第2页
第2页 / 共5页
SDL系列讲解(八) SDL_ttf教程.docx_第3页
第3页 / 共5页
SDL系列讲解(八) SDL_ttf教程.docx_第4页
第4页 / 共5页
SDL系列讲解(八) SDL_ttf教程.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《SDL系列讲解(八) SDL_ttf教程.docx》由会员分享,可在线阅读,更多相关《SDL系列讲解(八) SDL_ttf教程.docx(5页珍藏版)》请在金锄头文库上搜索。

1、SDL系列讲解(八) SDL_ttf教程关于游戏开发,当前还在调试,一款移植的随后先推出,自己开发的需要稍等几周,近期比较忙,时间不充裕,大家谅解。同时,对于android开发中的任意问题,可以留言,想了解哪方向的知识,可以回复,如果有能力,可以进行讲解的,后续我便会进行展开,以便更准确的帮助到大家。感谢一路大家的支持与厚爱。SDL系列讲解(一) 简介SDL系列讲解(二) 环境搭建SDL系列讲解(三) 工具安装SDL是什么,能干什么,为什么我们要学习它?SDL系列讲解(四) demo讲解SDL系列讲解(五) 调试c代码SDL系列讲解(六) SDL_Activity流程SDL系列讲解(七) SD

2、L_image教程前言讲解完了图片,这节我们来看下怎么显示文字。下载配置SDL_ttf库打开官网https:/www.libsdl.org/projects/SDL_ttf/,下载库。下载下来之后,跟我们之前的sdl image一样,放置在jni目录下:下载完毕之后,我们继续http:/download.savannah.gnu.org/releases/freetype/下载freeetype代码下载下来freetype-2.8.tar.gz之后,将其解压到jniSDL2_ttfexternal下面,并且重命名为freetype。修改Android.mk首先,我们需要修改SDL2_ttf目录

3、里面的Android.mk将FREETYPE_LIBRARY_PATH := external/freetype-2.4.12改成FREETYPE_LIBRARY_PATH := external/freetype同时需要将(FREETYPE_LIBRARY_PATH)/src/base/ftxf86.c删掉,因为升级后的版本里面,没有这个文件,需要去掉.然后在我们的android-project/app/src/main/jni/src下的Android.mk里面,加入LOCAL_C_INCLUDES:=(FREETYPELIBRARYPATH)/src/base/ftxf86.c删掉,因为

4、升级后的版本里面,没有这个文件,需要去掉.然后在我们的androidproject/app/src/main/jni/src下的Android.mk里面,加入LOCALCINCLUDES:=(LOCAL_PATH)/(SDLPATH)/include(SDLPATH)/include(LOCAL_PATH)/./SDL2_ttf同时在LOCAL_SHARED_LIBRARIES := SDL2SDL2_image后面加上 SDL2_ttf测试字库从网上下载一个中文字库,放置在asserts目录下,起名字为font.ttfmain.c加入头文件include “SDL_ttf.h”然后我们使用:

5、/初始化字库if(TTF_Init()=-1) printf(“TTF_Init: %sn”, TTF_GetError(); return 1;/打开字库TTF_Font *font;font=TTF_OpenFont(“font.ttf”, 64);if(!font) printf(“TTF_OpenFont: %sn”, TTF_GetError();初始化以及打开字库,使用16号字体创建DrawText(bmp,font,”代码GG”);这里DrawText的代码是:int DrawText(SDL_Surface* screen, TTF_Font* font, const char

6、* text) SDL_Color color = 0,0,0;/颜色 SDL_Surface *text_surface; text_surface = TTF_RenderUTF8_Solid(font, text, color); if (text_surface != NULL) SDL_BlitSurface(text_surface, NULL, screen, NULL);/将文字复制到屏幕的surface上面 SDL_FreeSurface(text_surface); return 1; else / report error return 0; 这里我们使用了 TTF_Re

7、nderUTF8_Solid 来完成加载出字体的surface来. 主要关注在UTF8,我们默认的编辑器编码是这个格式,所以我们要使用这个方法。就是这么简单,我们便完成了字体显示。效果我们可以看到,左上角显示了代码GG。抗锯齿显示字体如果我们想要在字体缩放的时候,不要出现锯齿的现象,可以使用:TTF_RenderUTF8_Blended 系列的方法来进行加载字体。这里我们演示下,将DrawText方法修改成:int DrawText(SDL_Surface* screen, TTF_Font* font, const char* text) SDL_Color color = 0,0,0;/颜

8、色 SDL_Surface *text_surface; text_surface = TTF_RenderUTF8_Solid(font, text, color); TTF_RenderUTF8_Blended(font, text, color); if (text_surface != NULL) SDL_BlitSurface(text_surface, NULL, screen, NULL);/将文字复制到屏幕的surface上面 SDL_FreeSurface(text_surface); else / report error return 0; text_surface= T

9、TF_RenderUTF8_Blended(font, text, color); if (text_surface != NULL) SDL_Rect des_pos=0,TTF_FontHeight(font),screen-w,screen-h; SDL_BlitSurface(text_surface, NULL, screen, &des_pos);/将文字复制到屏幕的surface上面 SDL_FreeSurface(text_surface); return 1; else / report error return 0; 效果如下:这里我们可以看到,下面显示的比上面的平滑了很多。更多详细用法关注http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号