SDL2.0学习笔记1---开发环境搭建

前言:

          本系列文章基于SDL2.0及Visual C++ 2012;

          主要学习教材为《SDL Game Development》;

          参考教程及开发工具可从我的资源中下载。

一、开发环境搭建

1.      从www.libsdl.org 下载SDL2.0开发工具,主要是include头文件目录及编译好的lib和dll文件,并解压;

2.      打开VS2012,新建空白工程;

3.      添加头文件路径。在工程上点击右键-->属性-->C/C++-->附加包含路径,输入1中解压的头文件路径(注意,需要先在工程中添加一个C或者C++的文件);

4.      添加SDL2.lib库及SDL2main.lib库。在工程上点击右键-->添加-->现有项,将1中解压的SDL2.lib及SDL2main.lib添加到工程中;

5.      添加SDL2.dll。将1中解压得到的SDL2.dll拷贝到工程的输出目录中(生成的.exe所在目录);

6.      设置子系统。在工程上点击右键-->属性-->链接器-->高级-->子系统,选择”控制台(/SUBSYSTEM:CONSOLE)”;

7.      至此,开发环境已搭建完毕。

 

二、第一个示例

#include "SDL.h"

#include <stdlib.h>
#include <stdio.h>

/******************************************************************************
	example00: Setting up SDL	
******************************************************************************/
void example00()
{
	SDL_Window	*pWindow = NULL;
	SDL_Renderer*pRenderer = NULL;

	// 1. initialize SDL
	if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
	{
		printf ("SDL initialize fail:%s\n", SDL_GetError());
		return;
	}
	
	// 2. create window
	pWindow = SDL_CreateWindow("example00:Setting up SDL", 
		SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
		640, 480,
		SDL_WINDOW_SHOWN);
	if (NULL == pWindow)
	{
		printf ("Create window fail:%s\n", SDL_GetError());
	}
	
	// 3. create renderer
	pRenderer = SDL_CreateRenderer(pWindow, -1, 0);
	
	// 4. clear the window to green
	SDL_SetRenderDrawColor(pRenderer,0,255,0,255);
	SDL_RenderClear(pRenderer);

	// 5. show the window
	SDL_RenderPresent(pRenderer);

	SDL_Delay(5000);  // for display

	// 6. exit
	SDL_Quit();
}





  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SDL入门教程 SDL是Simple DirectMedia Layer(简易直控媒体层)的缩写。它是一个跨平台的多媒 体库,以用于直接控制底层的多媒体硬件的接口。这些多媒体功能包括了音频、键盘和鼠标 (事件)、游戏摇杆等。当然,最为重要的是提供了 2D图形帧缓冲(framebuffer)的接口, 以及为 OpenGL 与各种操作系统之间提供了统一的标准接口以实现 3D图形。从这些属性我 们可以看出,SDL 基本上可以认为是为以电脑游戏为核心开发的多媒体库。 SDL 支持主流的操作系统,包括 Windows 和 Linux。在官方的介绍,我们可以找到 它所支持的其他平台。(SDL supports Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. )。SDL 本身从 C 语言开发, 并且能很好的在C++等高级语言使用。在官方可以看到SDL所支持的语言很多。(Including Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, Smalltalk, and Tcl. ) SDL在GNU LGPL version 2 下发布,这意味着你可以免费的使用。并且可以免费的用 于商业软件的制作(只要你直接使用 SDL 的动态链接库,Windows 下的 SDL.dll)。如果你 将 SDL 库编译进了自己的二进制代码,你需要指明你所使用的 SDL 库的版本以及包括你 自己修改的源代码,并说明这些代码的原始出处。这是很宽松的法律,你可以用如此强大的 多媒体库完全合法的免费开发商业游戏。 1.2:本教程是为谁准备的? 本教程是为电脑游戏制作的发烧友准备的。因为Linux的普及以及不受$M的牵制, SDL 在过去的几年,成为了跨平台开发 PC 游戏的首选。即使是在 Windows 平台下,SDL 有 具有自身的优势。与 MFC 使用不成熟的 C++外表伪封装的 win32api 以及一家独唱推崇的 COM 风格和.net 相比较,SDL 是更纯粹的 C 风格。无论你是喜欢纯 C 还是 OOP 的 C++, 你都可以按照你自己喜欢的方式对 SDL 进行再次封装,只要你自己愿意,可以让自己的程 序更接近 C/C++的标准风格,让代码更加优美也更加容易阅读。 事实上,在我看来,有了标准 C++(兴奋的期待 C++0x 的发布),SDL 和 OpenGL 这 些标准或免费库的支持,完全可以扔掉与 C++标准并不怎么和谐的“Windows 编程”了。没有 谁愿意被别人牵着鼻子走,这个道理在软件行业尤其的明显
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值