WP7 - 我的第一款小遊戲開發簡介

  • 11937
  • 0
  • WP
  • 2011-07-07

Window Phone 7 - 我的第一款小遊戲開發簡介

最近window phone 7 的開發工具已經出正式版了,而且又是用silverlight和XNA開發,都是我有在用的,非常歡樂阿!

所以就來試試看開發window phone 7的小遊戲吧!

 

想了很久,最後決定做下面這個小遊戲,遊戲裡固定時間會出現藍球在畫面上彈跳,主角要左右移動閃躲這些球,

移動方式應該用重力加速計(Accelerometer)來做,但是模擬器沒有這功能,所以就先用左右兩邊的箭頭來移動主角,

這遊戲裡面的圖取自XNA Creators Club裡面的一個範例Platformer (NEW for 4.0)

image

開始畫面,簡單明瞭。

這裡使用了TouchPanel取得TouchCollection來判斷是否觸碰螢幕,而左右兩邊的箭頭也是根據觸碰螢幕時的位置判斷有沒有被按到。

而按到箭頭,人物就會往左邊或是右邊跑。

顯示文字部分就直接使用SpriteFont來產生,目前模擬器沒有支援中文輸入法。

image

一開始只有一顆球,會隨時間越來越多,不過最多只會有六顆,另外因為要按左右的箭頭人物才會跑,但是在案箭頭的時候又不能截圖,所以截圖時人物都不能動。

人物跑步是用2D動畫表示,藉由不斷切換顯示的圖片達到動畫的效果。

藍球彈跳則是做簡單的加速運算,並且在球達到畫面邊緣時,讓速度反向。

image

被球砸到,仆街了!只活了16.6秒。

碰撞方面採用簡單的矩形偵測,球和主角都有自己的碰撞矩形,每次Update都會檢查球的矩形有沒有和主角的矩形產生重疊,有的話,當然就讓主角倒地拉!

另外球在彈跳的時候、人死掉的時候都會有音效,XNA現在可以直接將WAV音效檔拉進Content裡面,並且用SoundEffect直接撥放,雖然這樣能控制的地方很少,但是很方便呢!

image

雖然只活了16.6秒,但卻是第一名喔~~哈哈!前五名都可以輸入姓名呢!

要在遊戲裡輸入文字要使用Guide,他可以開啟模擬鍵盤讓使用者輸入文字,然後使用Callback函數取得輸入的文字。

image

遊戲會記錄最高分的前五名。

要記錄資訊的最簡單方式就是把檔案存在IsolatedStorage,由於應用程式不能直接存取手機檔案,對於這方面的安全需求,

都是用IsolatedStorage的方式,這和Silverlight是一樣的。

 

在window phone 7上和在windows上用XNA開發遊戲,除了裝置的特殊功能外可以說幾乎一樣,也由於手機平台的特殊操控性,可以做到與一般PC不同玩法的遊戲喔!

下面是遊戲錄影,Lag是因為電腦錄製的問題,第一次錄影不專業啊!