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;

}

看是否調試通過了?如果通過了,恭喜恭喜!!!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章