一、前言

这段时间正好使用 SDL,所以打算开一个新的系列,作为经验分享
—— SDL 游戏编程入门。

这也是 AnnihilateSword 在此站的第一个系列,文中可能有许多不足,还请多多包涵,如能斧正,那再好不过。

1. 使用工具:

  • 语言:C++
  • 编辑器:Visual Studio 2019

二、下载环境资源文件

✨官方链接

✨releases 资源

这里因为使用的是 VS2019,所以下载的是 SDL2-devel-2.26.1-VC.zip

解压后可以看到有 include 和 lib 文件夹,配置非常简单

三、创建项目

打开 VS2019,创建一个控制台空项目,我这里使用的是 64位

在解决方案目录下创建 Dependencies 文件夹用来存放 include 和 lib,将下载好的两个文件夹复制进去(include、lib)

项目设置如下


三、测试(HelloSDL)

示例代码:

/* 此源代码版权归 AnnihilateSword (2022-*)所有,未经书面许可不得转载。*/// 使用 SDL 和 iostream
#include <SDL.h>
#include <iostream>// 链接库
#pragma comment(lib, "SDL2.lib")
#pragma comment(lib, "SDL2main.lib")// 屏幕尺寸常量
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;int main(int argc, char* argv[])  // 必须要填写此参数,不然会出现链接错误
{// 定义 SDL 窗口SDL_Window* window = nullptr;// 初始化 SDLif (SDL_Init(SDL_INIT_VIDEO) < 0){std::cout << "[Error]: SDL could not initialize! SDL_Error: " << SDL_GetError() << std::endl;}else{// 创建窗口SDL_Window* window = SDL_CreateWindow("HelloSDL", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);if (window == nullptr){std::cout << "[Error]: Window could not be created! SDL_Error: " << SDL_GetError() << std::endl;}else{// 获取窗口所包含的表面SDL_Surface* screenSurface = SDL_GetWindowSurface(window);// 将表面填充为白色SDL_FillRect(screenSurface, nullptr, SDL_MapRGB(screenSurface->format, 0xFF, 0xFF, 0xFF));// 更新表面SDL_UpdateWindowSurface(window);// 窗口循环SDL_Event e;bool quit = false;while (quit == false){while (SDL_PollEvent(&e)){if (e.type == SDL_QUIT)quit = true;}}}}// 销毁窗口SDL_DestroyWindow(window);// 退出 SDLSDL_Quit();return 0;
}

注意需要将 SDL2.dll 放置可执行文件 (exe) 当前目录,或者项目当前目录,不然会报错找不到 DLL

1. 运行结果:

本节内容就到这里了,下卷会继续分享 SDL 的基本使用

The End.

【SDL游戏编程入门第一卷】配置SDL环境相关推荐

  1. Pygame游戏编程入门笔记

    目录 1. Python游戏编程入门 2. 建立开发环境 3. 简单示例 4. 绘制不同形状 5. 事件监听举例 6. 用pygame打印文本 7. 键盘事件 8. 鼠标事件 9. 轮询键盘 10. ...

  2. python游戏编程入门 免费-python游戏编程入门 python游戏编程入门课

    python游戏编程入门 python游戏编程入门课 什么是python游戏编程入门?首先我们需要认识什么是Python Python既是一个软件工具包,也是一种语言.Python软件包包含了一个名为 ...

  3. python游戏编程入门免费_python游戏编程入门 python游戏编程入门课

    python游戏编程入门 python游戏编程入门课 什么是python游戏编程入门?首先我们需要认识什么是Python Python既是一个软件工具包,也是一种语言.Python软件包包含了一个名为 ...

  4. python游戏编程入门-python游戏编程入门

    <Python游戏编程入门> 这些文章负责整理在这本书中的知识点.注意事项和课后习题的尝试实现. 并且对每一个章节给出的最终实例进行分析和注释. 初识pygame:pie游戏 pygame ...

  5. 游戏编程入门(1) -- 精灵 ISprite

        对于游戏编程而言,我也是个初学者,这个游戏编程入门系列的文章,就当作是我在学习游戏编程的笔记和阶段小结吧.我们先从最简单的"精灵"开始,暂时我们不需要考虑DirectX或是 ...

  6. 《Python游戏编程入门》——1.2 初识Python

    本节书摘来自异步社区<Python游戏编程入门>一书中的第1章,第1.2节,作者[美]Jonathan S. Harbour ,李强 译,更多章节内容可以访问云栖社区"异步社区& ...

  7. Android 4游戏编程入门经典

    <Android 4游戏编程入门经典> 基本信息 原书名:Beginning Android 4 Games evelopment 作者: (美)Mario Zechner Robert ...

  8. 《Android游戏编程入门经典》——1.1节Android 4简介

    本节书摘来自异步社区<Android游戏编程入门经典>一书中的第1章,第1.1节Android 4简介,作者[美]Jonathan S. Harbour,更多章节内容可以访问云栖社区&qu ...

  9. 游戏编程入门(5):使用键盘和鼠标控制游戏

    接上文 游戏编程入门(4):绘制图形图像 本文内容包括: 如何有效地检测和响应键盘输入 如何处理鼠标输入 如何开发带有动画图形对象的程序,并且可以使用键盘和鼠标来控制动画图形对象 用户输入设备 输入设 ...

最新文章

  1. 蓝桥杯:安慰奶牛(最小生成树)
  2. js在上传图片前判断大小
  3. 读史以明志,把握好自己的明天
  4. Linux Shell 文本处理工具集锦
  5. 区块链技术指南笔记(三):区块链运作的核心技术
  6. [vue] v-for循环中key有什么作用?
  7. java xlsx怎么转换成excel格式_python小工具 | Excel的xls和xlsx格式文件转换
  8. 栈应用:判断字符串中括号是否成对出现
  9. 华为交换机stp原理透析及实战
  10. VScode 搭建 django 开发环境(MAC、Python3.7)
  11. Magisk 安装说明
  12. 关于分布式服务中的中间件技术入门概述
  13. Centos 安装python
  14. Android5.1开机LOGO与开机动画
  15. Windows 常用组合键(热键)
  16. [Oracle] 一个通过添加本地分区索引提高SQL性能的案例
  17. C++编程-leetcode-19-删除链表的倒数第N个结点
  18. 【计算机网络】第一章:计算机网络概述
  19. 【技能】小白耳机维修入门--各种耳机插头接线图--耳机维修汇总贴
  20. 毕业设计-基于微信小程序的校园参赛系统

热门文章

  1. 诺顿等效电路 用计算机,r t norton equivalent circuits (诺顿等效电路).ppt
  2. 西安中科创达面试(java方向)
  3. 毕业设计、卷积cnn、lstm、random walk、地址交易识别
  4. 中职计算机专业英语课程改革初探,中职计算机专业英语教学初探
  5. Caliburn.Micro学习笔记目录——Zhouyongh
  6. android sd卡 读写文件系统,安卓10写入和读取sdcard文件
  7. ES6 ~ ES11整理
  8. Scratch3.0——助力新进程序员理解程序(一、基础使用与运动)
  9. axios 超级小白使用模板
  10. 2017国产品牌台式计算机,2017三大热门国产平板电脑推荐