XNA Game Studio 4.0開始支援使用Visual Basic語言來開發Windows Phone遊戲了,讓我們一起進入XNA的世界吧。
XNA Game Studio 4.0開始支援使用Visual Basic語言來開發Windows Phone遊戲了,
讓我們一起進入XNA的世界吧。
下載 Windows Phone SDK 7.1 (官方下載連結)
Windows Phone SDK 包含內容如下:
-Microsoft Visual Studio 2010 Express for Windows Phone
-Windows Phone Emulator
-Windows Phone SDK 7.1 組件
-Silverlight 4 SDK 和 DRT
-Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
-Microsoft Expression Blend SDK for Windows Phone 7
-Microsoft Expression Blend SDK for Windows Phone OS 7.1
-WCF Data Services Client for Windows Phone
-Microsoft Advertising SDK for Windows Phone
支援的作業系統:Windows 7;Windows Vista
如果想在Windows XP安裝必須進行以下步驟:
Step 1:
將下載的vm_web2.exe解壓
在命令行模式下,输入vm_web2.exe /x
Step 2:
修改baseline.dat文件
找到[gencomp7788]這個節點
修改以下兩行
InstallOnLHS=0
InstallOnWinXP=0
Step 3:
在命令行下,输入setup.exe /web
注意:Windows XP下開發不支援Windows Phone模擬器
Visual Basic>XNA Game Studio 4.0>Windows Phone Game
選擇Windows Phone的版本,7.1對應的就是芒果機。
選擇用Windows Phone模擬器,開始偵錯。
在這個專案有一個Game1.vb,我們只要覆寫裡面的一些函數就可以很容易的完成一個遊戲。
Initialize函數
在Initialize函數裡可以寫一些跟繪圖卡無關的遊戲初始化指令。
Protected Overrides Sub Initialize()
' TODO: Add your initialization logic here
MyBase.Initialize()
End Sub
LoadContent函數
LoadContent函數是用來上載遊戲中需要的資源(包含圖形、模型、字型、音效…等)
Protected Overrides Sub LoadContent()
' Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = New SpriteBatch(GraphicsDevice)
' TODO: use Me.Content to load your game content here
End Sub
UnloadContent函數
UnloadContent函數是用來釋放資源的,事實上,程式已經使用垃圾回收機制,沒用到的資源會自動回收了。
Protected Overrides Sub UnloadContent()
' TODO: Unload any non ContentManager content here
End Sub
Update函數
Update函數預設一秒會被呼叫30次,也就是每隔1/30秒被呼叫一次,用來撰寫遊戲邏輯、移動物件、偵測玩家輸入動作、判斷碰撞…等的地方。
Protected Overrides Sub Update(ByVal gameTime As GameTime)
' Allows the game to exit
If GamePad.GetState(PlayerIndex.One).Buttons.Back = ButtonState.Pressed Then
Me.Exit()
End If
' TODO: Add your update logic here
MyBase.Update(gameTime)
End Sub
Draw函數
Draw函數跟Update函數一樣每隔1/30秒被呼叫一次,用來繪製遊戲背景或是其它遊戲物件的地方。
Protected Overrides Sub Draw(ByVal gameTime As GameTime)
GraphicsDevice.Clear(Color.CornflowerBlue)
' TODO: Add your drawing code here
MyBase.Draw(gameTime)
End Sub
整個遊戲架構如下:
以上簡單的把遊戲平台給建置起來了,接下來就可以準備來開發遊戲囉。