返回

SDL 2 基础教程 (二):渲染一个窗口

Android

前言

在上一篇教程中,我们介绍了 SDL 2 的基本概念和安装方法。在本教程中,我们将向您展示如何使用 SDL 2 渲染一个窗口。

创建窗口

首先,我们需要创建一个窗口。SDL 2 提供了 SDL_CreateWindow() 函数来创建窗口。该函数的原型如下:

SDL_Window *SDL_CreateWindow(
    const char *title,
    int x,
    int y,
    int width,
    int height,
    Uint32 flags
);
  • title:窗口的标题。
  • x:窗口的 X 坐标。
  • y:窗口的 Y 坐标。
  • width:窗口的宽度。
  • height:窗口的高度。
  • flags:窗口的标志。

以下是如何使用 SDL_CreateWindow() 函数创建窗口的示例代码:

SDL_Window *window = SDL_CreateWindow(
    "SDL 2 Tutorial",
    SDL_WINDOWPOS_CENTERED,
    SDL_WINDOWPOS_CENTERED,
    640,
    480,
    SDL_WINDOW_SHOWN
);
  • SDL_WINDOWPOS_CENTERED:将窗口居中显示。
  • SDL_WINDOW_SHOWN:显示窗口。

如果创建窗口成功,SDL_CreateWindow() 函数将返回一个窗口句柄。否则,该函数将返回 NULL

渲染窗口

创建窗口后,我们需要渲染窗口。SDL 2 提供了 SDL_RenderPresent() 函数来渲染窗口。该函数的原型如下:

void SDL_RenderPresent(SDL_Renderer *renderer);
  • renderer:渲染器。

以下是如何使用 SDL_RenderPresent() 函数渲染窗口的示例代码:

SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, 0);
SDL_RenderPresent(renderer);
  • SDL_CreateRenderer() 函数创建一个渲染器。
  • SDL_RenderPresent() 函数渲染窗口。

销毁窗口

当我们不再需要窗口时,我们需要销毁窗口。SDL 2 提供了 SDL_DestroyWindow() 函数来销毁窗口。该函数的原型如下:

void SDL_DestroyWindow(SDL_Window *window);
  • window:窗口句柄。

以下是如何使用 SDL_DestroyWindow() 函数销毁窗口的示例代码:

SDL_DestroyWindow(window);

结语

在本教程中,我们向您展示了如何使用 SDL 2 渲染一个窗口。您现在可以继续学习 SDL 2 的其他功能,例如创建精灵、处理事件和播放音乐。