教你使用XNA Game Studio 3.1+C#開發遊戲

轉載請註明出處!

作者:姜曉東 博客:http://blog.csdn.net/abigfrog  QQ:800736  MSN:[email protected]

Microsoft XNA Game Studio 3.1 是一套支持各版本的Microsoft Visual Studio 的遊戲開發套件,使用它可以讓學生或者愛好者來爲Microsoft Windows、Microsoft Xbox 360 視頻遊戲機以及Microsoft Zune開發遊戲。XNA Game Studio 包含XNA Framework,它是一套基於.NET Framework 2.0的託管庫,是設計用來支持遊戲開發的。

XNA Game Studio 3.1支持Windows7,以及常用的Visual Studio版本,我們這裏使用Visual Studio2008。

XNA Game Studio 3.1支持創立3.1和3.0兩種版本的項目,我們這裏使用3.1。

如果你還沒有安裝,那麼先去下載吧:下載地址

這裏我們要做的是一個模擬跳舞機的遊戲,先來看下界面:

image

當然,這只是一個簡單的模擬,更多的功能需要你自己去實現,那麼我們來看看它是如何做的,先來看看這個遊戲包含哪些部分:

1、上下左右四個綠色箭頭,代表未正確按鍵;

2、上下左右四個灰色箭頭,代表已正確按鍵;

3、滾動的星空背景;

4、中間一個小人,代表按鍵開始,在它之前按鍵將不被遊戲識別,在它之後超過一定區域也將視爲未命中;

5、左上角的得分和失分記錄;

6、這裏聽不到的按鍵聲音及背景音樂。

好了,我們來從頭開始:

1、首先,新建一個項目:

image

新建的項目包含如下部分:

image

這裏要注意幾點:

1)Content目錄是存放遊戲資源的目錄,聲音或者材質貼圖都會放到這裏

2)Game1.cs是遊戲的主要文件,它是Microsoft.Xna.Framework.Game的子類,包含了遊戲的主框架,包括資源加載、繪圖、遊戲邏輯等等

3)這裏可以觀察到對Xna.Framework下諸類的調用

3、Visual Studio幫我們創建了Game1.cs的主要框架代碼,其結構如下:

image

Initialize() 執行遊戲運行前的一些初始化操作,這裏是加載必須的服務和非圖片資源的地方。
LoadContent() 僅在遊戲每次運行時調用一次,是加載遊戲資源的地方。
UnloadContent() 僅在遊戲每次運行時調用一次,是卸載遊戲資源的地方。
Update(GameTime gameTime) 允許遊戲邏輯更新遊戲場景,比如碰撞檢測、接受輸入控制、音頻播放等;gameTime參數代表一個時間片。
Draw(GameTime gameTime) 負責繪製遊戲場景。
graphics字段 代表圖形設備。
spriteBatch字段 允許多個的精靈使用同樣的設置批量繪製。

4、將箭頭圖像資源通過右鍵菜單添加到Content目錄:

image  image

5、添加字體資源方法:

image

然後:

image

6、下面說下音頻製作,首先從這裏啓動Microsoft Cross-Platform Audio Creation Tool 3 (XACT3):

image

界面如下:

image

首先右擊Wave Banks,在菜單中選“Insert wave files”,或者按快捷鍵,Ctrl+W,選擇一個wav格式的音頻文件,如果你想用mp3,那麼請先使用千千靜聽將它轉換爲wav格式,你也可以使用cooledit對wav進行編輯,以滿足你的要求。

下一步,將右邊Wave Bank窗口中新增的音頻文件拖放到Sound Bank窗口,然後從Sound Bank窗口拖放到它的子窗口Cue Name窗口。

如果你想設置音樂的循環特性,那麼請單擊SoundBank上面的窗口中的一根音樂文件,左下角會出現它的相關屬性:

image

Looping即使循環次數,這裏Infinite表示無限!你可以在LoopCount中設置具體的次數,注意,如果你想讓它成爲背景音樂的話,把這裏的Category設爲Music即可。這裏的Name就是在代碼中使用的名稱:

// 播放背景音樂
Cue cue = soundBank.GetCue("hml");
cue.Play();

設置完後,使用File-Build進行編譯,將編譯好的xap文件連同wav文件,通過引用加入到

image

其他的文件放於:

image 

7、下面放上全部源代碼,註釋中有詳細說明:

Game1.cs:

箭頭精靈ArrowSprite.cs:

星空對象ScrollingBackground.cs

腳本in.dat

舞步腳本說明:

第1行:保留

第2行~以後:0001 四位,分別表示左上下右,0爲否,1爲是,0001即爲右箭頭,1010爲左和下箭頭,依次類推。

8、總結,我們學習了:

1、什麼是XNA

2、XNA生成的框架代碼說明

3、如何通過XACT播放音樂

4、一個跳舞機遊戲的源代碼

5、如何通過XACT製作音頻資源,及設置

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