【SDL游戏编程入门第一卷】配置SDL环境
一、前言
这段时间正好使用 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环境相关推荐
- Pygame游戏编程入门笔记
目录 1. Python游戏编程入门 2. 建立开发环境 3. 简单示例 4. 绘制不同形状 5. 事件监听举例 6. 用pygame打印文本 7. 键盘事件 8. 鼠标事件 9. 轮询键盘 10. ...
- python游戏编程入门 免费-python游戏编程入门 python游戏编程入门课
python游戏编程入门 python游戏编程入门课 什么是python游戏编程入门?首先我们需要认识什么是Python Python既是一个软件工具包,也是一种语言.Python软件包包含了一个名为 ...
- python游戏编程入门免费_python游戏编程入门 python游戏编程入门课
python游戏编程入门 python游戏编程入门课 什么是python游戏编程入门?首先我们需要认识什么是Python Python既是一个软件工具包,也是一种语言.Python软件包包含了一个名为 ...
- python游戏编程入门-python游戏编程入门
<Python游戏编程入门> 这些文章负责整理在这本书中的知识点.注意事项和课后习题的尝试实现. 并且对每一个章节给出的最终实例进行分析和注释. 初识pygame:pie游戏 pygame ...
- 游戏编程入门(1) -- 精灵 ISprite
对于游戏编程而言,我也是个初学者,这个游戏编程入门系列的文章,就当作是我在学习游戏编程的笔记和阶段小结吧.我们先从最简单的"精灵"开始,暂时我们不需要考虑DirectX或是 ...
- 《Python游戏编程入门》——1.2 初识Python
本节书摘来自异步社区<Python游戏编程入门>一书中的第1章,第1.2节,作者[美]Jonathan S. Harbour ,李强 译,更多章节内容可以访问云栖社区"异步社区& ...
- Android 4游戏编程入门经典
<Android 4游戏编程入门经典> 基本信息 原书名:Beginning Android 4 Games evelopment 作者: (美)Mario Zechner Robert ...
- 《Android游戏编程入门经典》——1.1节Android 4简介
本节书摘来自异步社区<Android游戏编程入门经典>一书中的第1章,第1.1节Android 4简介,作者[美]Jonathan S. Harbour,更多章节内容可以访问云栖社区&qu ...
- 游戏编程入门(5):使用键盘和鼠标控制游戏
接上文 游戏编程入门(4):绘制图形图像 本文内容包括: 如何有效地检测和响应键盘输入 如何处理鼠标输入 如何开发带有动画图形对象的程序,并且可以使用键盘和鼠标来控制动画图形对象 用户输入设备 输入设 ...
最新文章
- 蓝桥杯:安慰奶牛(最小生成树)
- js在上传图片前判断大小
- 读史以明志,把握好自己的明天
- Linux Shell 文本处理工具集锦
- 区块链技术指南笔记(三):区块链运作的核心技术
- [vue] v-for循环中key有什么作用?
- java xlsx怎么转换成excel格式_python小工具 | Excel的xls和xlsx格式文件转换
- 栈应用:判断字符串中括号是否成对出现
- 华为交换机stp原理透析及实战
- VScode 搭建 django 开发环境(MAC、Python3.7)
- Magisk 安装说明
- 关于分布式服务中的中间件技术入门概述
- Centos 安装python
- Android5.1开机LOGO与开机动画
- Windows 常用组合键(热键)
- [Oracle] 一个通过添加本地分区索引提高SQL性能的案例
- C++编程-leetcode-19-删除链表的倒数第N个结点
- 【计算机网络】第一章:计算机网络概述
- 【技能】小白耳机维修入门--各种耳机插头接线图--耳机维修汇总贴
- 毕业设计-基于微信小程序的校园参赛系统
热门文章
- 诺顿等效电路 用计算机,r t norton equivalent circuits (诺顿等效电路).ppt
- 西安中科创达面试(java方向)
- 毕业设计、卷积cnn、lstm、random walk、地址交易识别
- 中职计算机专业英语课程改革初探,中职计算机专业英语教学初探
- Caliburn.Micro学习笔记目录——Zhouyongh
- android sd卡 读写文件系统,安卓10写入和读取sdcard文件
- ES6 ~ ES11整理
- Scratch3.0——助力新进程序员理解程序(一、基础使用与运动)
- axios 超级小白使用模板
- 2017国产品牌台式计算机,2017三大热门国产平板电脑推荐