SDL2-文本输入操作

对于SDL的文本输入操作,其wiki还专门给了一个教程:见这里 我们按照这个教程来简单说明一下。

SDL2-绘制文本

SDL本身是不支持文本的绘制的,如果你想要绘制文本的话你需要包含其第三方库SDL_ttf,下载网址在这里 顺带一提,SDL官方的所有拓展库都可以在这里找到,这个网址同时还有很多很多的学习资源(包括第一版DOOM的源代码)

SDL2-版本获取

官方给了很多的版本获取宏和函数,但是我觉得根本没有这个必要,我们这里只介绍一个函数和一个宏,其他的请到官方文档去看一看。

SDL2-日志

SDL的日志功能很简单. 首先要明确,SDL的每个日志都由两个条件决定:

  • category:类型,可以是如下几个:

SDL2-错误检测和处理

SDL错误检测和处理一共就三个函数:

  • SDL_ClearError():清除所有错误
  • const char* SDL_GetError():获得前一个出错函数产生的错误信息(英文)
  • SDL_SetError(const char* fmt,...):设置自己的错误,格式类似printf。(这个函数总是返回-1

SDL的错误处理是这样的:SDL的函数首先会有一个int返回值表示函数是否出错了(一般0为成功,负数表示发生了错误),然后会向错误变量中记录这个错误的文字信息,这个时候你就可以通过SDL_GetError()来获得错误了。你也可以通过SDL_SetError()来向错误变量中记录自己的错误。SDL_ClearError()来清除错误变量记录的内容。

SDL2-剪切板

SDL操作剪切版的函数很简单:

  • char* SDL_GetClipboardText(void):获得剪切板内容
  • SDL_bool SDL_HasClipboardText(void):判断剪切板内是否有内容
  • int SDL_SetClipboardText(const char* text):将文字放入剪切板(返回0成功,返回负值失败)

SDL2-多线程

由于SDL2是C语言库,所以提供了多线程的库。但是我们是用C++编写的,不如直接使用C++的线程库咯。这部分等我有时间会补上的

SDL2-渲染器SDL_Renderer

SDL2渲染器


有了窗口之后,我们还需要有一个渲染器。渲染器用于将图像渲染到窗口上。

SDL2-HelloWorld

这里我们先来一个Hello World来看看什么是SDL。这一部分可能比较多。

SDL2-初始化

初始化并非只有SDL_Init一个函数。让我们来看看还有其他什么函数