【C++SDL2中文教程】二,在屏幕上获取图像

//启动SDL并创建窗口
bool init();

//加载媒体
bool loadMedia();

//释放媒体并关闭SDL
void close();

在第一个教程中,我们将所有内容都放在了 main 函数中。由于它是一个小程序,我们可以摆脱它,但在实际程序(如视频游戏)中,您希望您的代码尽可能模块化。这意味着您希望您的代码整齐地排列成易于调试和重用的代码块。

这意味着我们有处理初始化、加载媒体和关闭 SDL 应用程序的函数。我们在源文件顶部附近声明这些。

我收到很多关于在 C 中调用此函数“关闭”如何导致冲突的电子邮件,因为它不支持函数重载。这是我在本教程中使用 C++ 的原因之一。所以这个函数被称为“关闭”并不是一个错误。

//我们将渲染到的窗口
SDL_Window* gWindow = NULL;
    
//窗口的表面
SDL_Surface* gScreenSurface = NULL;

//我们将加载并显示在屏幕上的图像
SDL_Surface* gHelloWorld = NULL;


这里我们声明一些全局变量。通常,您希望避免在大型程序中使用全局变量。我们在这里这样做的原因是因为我们希望源代码尽可能简单,但在大型项目中,全局变量会使事情变得更加复杂。由于这是一个单一的源文件程序,我们不必太担心它。

这是一种称为 SDL Surface 的新数据类型。SDL 表面只是一种图像数据类型,它包含图像的像素以及渲染它所需的所有数据。SDL 表面使用软件渲染,这意味着它使用 CPU 进行渲染。渲染硬件图像是可能的,但它有点困难,所以我们将首先以简单的方式学习它。在以后的教程中,我们将介绍如何渲染 GPU 加速图像。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值