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

C语言+SDL编写俄罗斯方块(一)


 

 

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

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

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

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

 

一、        下载SDL

 

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

如下图所示:


C语言+SDL编写俄罗斯方块(一)

 也可以从下面的链接直接下载: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,如下图。


C语言+SDL编写俄罗斯方块(一)

 

 

三、        拷贝文件

 

ü  找到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.libSDLmain.lib)拷贝到C:\Program Files\Microsoft Visual Studio 8\VC\lib

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

 

四、        新建工程,进行测试

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

C语言+SDL编写俄罗斯方块(一)

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

C语言+SDL编写俄罗斯方块(一)

 

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


C语言+SDL编写俄罗斯方块(一)

 

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

 

C语言+SDL编写俄罗斯方块(一)

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


C语言+SDL编写俄罗斯方块(一)

注意:今后添加其他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;

}

看是否调试通过了?如果通过了,恭喜恭喜!!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值