SDL基础使用01( 项目创建,绘制矩形)

本文详细介绍了如何在VisualStudio项目中集成SDL库,包括添加头文件、链接静态库、处理main函数和绘制矩形的基本步骤。
摘要由CSDN通过智能技术生成

SDL在VS编译环境下的使用

  • 创建一个VS项目
  • 将下载的sdl库include和lib文件夹放到项目工程下
  • 添加附加包含目录路径        

  • 添加依赖路径

1. 项目创建

#include <iostream>
/* SDL项目基本使用 */

// 1. 在cpp文件中调用C函数包含头文件时需要用extern "C"包一下
extern "C"
{
#include <SDL.h>
}
// 2. 包含静态库文件(或者直接在项目属性中添加 链接器 -> 输入 -> 附加依赖项)
#pragma comment(lib, "x86/SDL2.lib")

// 3. 将SDL中的main函数解除定义,从而识别自己写的main函数
#undef main
// 4. 将dll文件放到可执行程序同级目录下
int main()
{
	int nRet = SDL_Init(SDL_INIT_VIDEO);	// 初始化SDL
	if (nRet == -1) return -1;				// 初始化失败

	SDL_Delay(1000);						// 延时一秒

	SDL_Quit();								// 退出

	return 0;
}

 2. 绘制矩形

#include <iostream>
/* 绘制矩形 */
extern "C"
{
	#include <SDL.h>
}

#pragma comment(lib, "SDL2.lib")

#undef main
int main()
{
	// 1. 初始化
	int nRet = SDL_Init(SDL_INIT_EVERYTHING);		
	if (nRet < 0)
	{
		std::cout << "SDL Error: " << SDL_GetError() << std::endl;
		return -1;
	}

	// 2. 创建窗口
	SDL_Window* pWnd = SDL_CreateWindow("title",	
										SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,	// 默认屏幕中间位置
										640, 480,											// 宽高
										SDL_WINDOW_SHOWN);									// 窗口显示方式
	if (NULL == pWnd)
	{
		std::cout << "SDL Error: " << SDL_GetError() << std::endl;
		return -1;
	}

	// 3. 获取窗口的表面(画布)
	SDL_Surface* pSurface = SDL_GetWindowSurface(pWnd);	
	if (NULL == pSurface)
	{
		std::cout << "SDL Error: " << SDL_GetError() << std::endl;
		return -1;
	}

	// 4. 绘图
	SDL_Rect rect = { 100, 100, 50, 50 };
	SDL_FillRect(pSurface, &rect, SDL_MapRGB(pSurface->format, 255, 0, 0));

	// 5. 更新画布
	SDL_UpdateWindowSurface(pWnd);

	SDL_Delay(3000);		// 延时

	// 6. 释放窗口资源,退出
	if (pWnd)						
	{
		SDL_DestroyWindow(pWnd);	
	}
	SDL_Quit();						

	return 0;
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石小浪♪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值