码迷,mamicode.com
首页 > 其他好文 > 详细

用 SDL2 在屏幕上打印文本

时间:2016-06-07 01:14:16      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:

打印完图片,是时候打印文字了。这里引用了SDL的字体扩展库,SDL2_ttf.lib,需要包含相应的头文件。

环境:SDL2 + VC++2015

下面的代码将在窗口打印一段文字,并对相应的操作做出响应。

这次把错误处理给精简掉了,代码看起来更清爽。

 1 #include <iostream>
 2 #include "SDL.h"
 3 #include "SDL_ttf.h"
 4 
 5 int main(int argc, char** argv)
 6 {
 7     //屏幕宽度
 8     const int SCREEN_WIDTH = 680;
 9     const int SCREEN_HEIGHT = 400;
10     //初始化SDL
11     SDL_Init(SDL_INIT_EVERYTHING);
12     //初始化字体库
13     TTF_Init();
14     //创建窗口
15     SDL_Window *window = SDL_CreateWindow("Font Test",
16         SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
17         SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
18     //创建渲染器
19     SDL_Renderer *renderer = SDL_CreateRenderer(window, -1,
20         SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
21 
22     //打开字体
23     TTF_Font *font = TTF_OpenFont("XHei.TTC", 30);
24     //文本转表面
25     SDL_Color color = { 255, 255, 255 };
26     SDL_Surface *surf = TTF_RenderText_Blended(font, "Cool, Cooler, Coolest!", color);
27     //表面转纹理
28     SDL_Texture *text = SDL_CreateTextureFromSurface(renderer, surf);
29     //释放资源
30     SDL_FreeSurface(surf);
31     TTF_CloseFont(font);
32 
33     bool quit = false;
34     SDL_Event e;
35     //主循环
36     while (!quit)
37     {
38         //事件栈轮询
39         while (SDL_PollEvent(&e))
40         {
41             //按右上角的X或点鼠标退出
42             if (e.type == SDL_QUIT || e.type == SDL_MOUSEBUTTONDOWN) quit = true;
43             //清空渲染器
44             SDL_RenderClear(renderer);
45             //渲染字体
46             SDL_RenderCopy(renderer, text, NULL, NULL);
47             //呈现渲染器
48             SDL_RenderPresent(renderer);
49         }
50     }
51 
52     //释放资源
53     SDL_DestroyTexture(text);
54     SDL_DestroyRenderer(renderer);
55     SDL_DestroyWindow(window);
56 
57     SDL_Quit();
58 
59     return 0;
60 }

 

用 SDL2 在屏幕上打印文本

标签:

原文地址:http://www.cnblogs.com/joxon/p/5565506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!