這個範例主要是示範如何讀取Data.Taipei的公共廁所資料
[WP7][Silverlight]讀取台北市政府公開資料
- 3163
- 0
這個範例主要是示範如何讀取Data.Taipei的公共廁所資料
整個Windows Phone 7開發架構
當遊戲的世界地圖很大超過螢幕時,我們就要使用世界地圖座標來撰寫遊戲邏輯,並在Draw()要轉換為螢幕座標來繪製精靈。
在Windows Phone 7要儲存資料,需要使用IsolatedStorage來將資料儲存到每個程式的隔離儲存區內,而遊戲存檔一般是儲存人物等級、分數、關卡…而這些資料可以存成文字檔、XML檔或是用可序列化物件,這裡要示範的是存成一個文字檔,我們先設計一個可以拖曳的小方塊,程式離開時將小方塊位置存檔,下次再開啟程式時載入上次的小方塊位置。
如果程式只能在模擬器執行,那感覺總是差了一點,更何況模擬器沒有辦法模擬多點觸控,今天就來幫我們的WP7手機解鎖(Developer Unlock),讓程式可以在手機上調試。
通過物件導向的設計是可以讓程式碼更加簡潔、可讀性更高,所以現在我們來改寫前面的程式碼吧。
延續人物跳躍這個範例再加上地圖編輯,這次我們要讓人物能跳上磚塊,並且示範如何實作多關卡設計。
一般遊戲都會提供選單給玩家做一些設定,像是設定遊戲難度、開關遊戲音樂、選定關卡等,在遊戲的過程中也會做暫停、回到主選單等遊戲畫面切換等動作,今天我們就來實作這些功能。這次的示範主要是利用微軟提供的範例為範本,然後加以修改成我們自己的需求。
在上個範例中我們利用地圖編輯器完成了地圖的製作並把它存成文字檔,現在要把這個文字檔透過自建的內容管道(Content Pipeline extension library)載入到我們的專案裡,並且利用自建的Map類別將地圖繪出。
地圖編輯器通常是用來設計世界地圖或是遊戲的關卡,網路上有很多免費的地圖編輯器,像是Mappy、tIDE…其實操作起來原理都是一樣的,今天要示範的是tIDE。
XNA 人物移動與跳躍(Moving and Jumping)
很多動作類型遊戲的操作方式適合用鍵盤操作,而大部分的手機都是沒有配置實體按鍵的,這時我們可以在螢幕上創造虛擬鍵盤
來模擬實際按鍵。
多重捲軸就是利用幾張不同層的圖片,背景圖捲動的較慢,前景圖捲動的較快,進而達到景深類似3D的視覺效果。
在遊戲中聲音是不可或缺之要素之一,在XNA裡提供了播放音效的SoundEffect物件跟播放音樂的MediaPlayer物件,讓我們很容易的使用。
手機遊戲多採用觸控來操作遊戲內容,我們要處理這些觸控輸入有兩個方式,一個是用低階的方式,只抓取觸控點,其餘的判斷油程式來處理,另一個是高階的方式,我們抓取使用者的操作手勢,再來進行後續處理。
碰撞偵測在遊戲中常被使用到,例如判斷子彈是否射中目標、人物是否撞到東西,碰撞偵測有好幾種方法:
今天要讓 Windows Phone 一秒變魔術師
很多遊戲都會用到拋物線運動,像大砲射擊、生氣鳥等,在這裡我們要運用國中學的物裡公式來實作程式碼。
很多遊戲都會用到直線運動,像是人物在地圖走動或是打磚塊的小球運動,在這裡我們要運用國中學的物裡,等速運動公式: S = Vt 來實作程式碼。
動畫是由隨著時間改變的圖片所組成,由於XNA不支援gif圖片格式,所以我們要用簡單的程式技巧將2D圖片顯示成動畫。