您的位置:首页 > 编程语言 > C语言/C++

C语言+SDL编写俄罗斯方块(一)--在VS2005环境上配置SDL

2013-10-18 11:51 495 查看




大家好,如果你已经从一名C语言菜鸟晋升为一名C语言入门者,那么从这篇文章开始你应该有新的提升。相信独立做一个俄罗斯方块的游戏是一个不错的途径,那么现在我们就开始吧!

俗话说,“欲要利其事,必先利其器”。在动手之前必须选择合适的开发环境和游戏引擎,对于俄罗斯方块这样的2D小游戏而言,我们需要一个熟悉的开发工具再加一个简单实用的游戏引擎即可。SDL是一个不错的选择,Simple
DirectMedia Layer库,简称 SDL,是为数不多的商业游戏开发公司使用的免费软件库之一。它提供跨平台的二维帧缓冲区图形和音频服务,它支持Linux、Win32 和 BeOS。也不同程度地支持其它平台,包括Solaris、IRIX、FreeBSD 和 MacOS。除了大量的服务,包括线程、独立于字节存储次序的宏和 CD 音频,SDL 还提供了一个简单的 API,它允许您尽可能接近本机硬件。使用SDL 有三重优点:稳定、简单和灵活。

因为 SDL 专门为游戏和多媒体应用而设计开发,所以它对图形的支持非常优秀,尤其是高级图形能力,比如 Alpha 混和、透明处理、YUV 覆盖、Gamma校正等等。而且在 SDL 环境中能够非常方便地加载支持 OpenGL 的 Mesa 库,从而提供对二维和三维图形的支持 。

从网上下载针对VS2005的SDL软件开发包,由于SDL在搭配其它的编译环境也可以实现游戏开发,所以当你看到相关下载SDL软件开发包的网站时,通常会将SDL各种版本罗列出来,请下载时务必看清,否则,不同版本的SDL开发包张冠李戴到编译环境上是无法正常工作的。下面介绍详细步骤:

一、 下载SDL

下载地址和链接: http://www.libsdl.org/download-1.2.php
如下图所示:





也可以从下面的链接直接下载:http://www.libsdl.org/release/SDL-devel-1.2.14-VC8.ziphttp://www.libsdl.org/release/SDL-devel-1.2.14-VC8.zip

二、 解压缩

假设你将下载下来的压缩文件解压至D:\SDL-1.2.13,如下图。





三、 拷贝文件

ü 找到VS2005的安装目录(在我的机器上,VC6被安装在了C:\Program
Files\Microsoft Visual Studio 8\VC,下面以此为例进行步骤描述)。

ü 打开C:\Program
Files\Microsoft Visual Studio 8\VC\include。

ü 在C:\Program
Files\Microsoft Visual Studio 8\VC\include下新建SDL文件夹。

ü 将\SDL-1.2.14\include下的所有文件拷贝到C:\Program
Files\Microsoft Visual Studio 8\VC\include\SDL中。

ü 将下的两个扩展名为.lib的文件(即SDL.lib和SDLmain.lib)拷贝到C:\Program
Files\Microsoft Visual Studio 8\VC\lib。

ü 将\SDL-1.2.14\lib下的SDL.dll拷贝到windows安装目录下的system32目录下。

四、 新建工程,进行测试

ü 新建win32
console application的空工程。新建一个.cpp文件





ü 选择项目-à点击项目的属性或者直接按ALT
+ F7。





ü 选择C/C++页,选择常规,进行如下修改,如下图:





ü 选择C/C++页,选择代码生成,进行如下修改,如下图:





ü 选择连接器页,选择输入-à修改附加依赖项,如下图:





注意:今后添加其他SDL的功能模块的时候,同样需要修改这里。

ü 单击确定。

ü 给刚才新建的cpp文件,输入文件的代码如下:

#include <SDL/SDL.h>

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char* argv[])

{

if ( SDL_Init(SDL_INIT_EVERYTHING) == -1 )

{

printf(“设备初始化失败!\n”);

return
-1;

}

printf("SDL
initialized.\n");

SDL_Quit();

system("pause");

return
0;

}

看是否调试通过了?如果通过了,恭喜恭喜!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: