本文是“Windows Phone 7 開發 31 日談”系列的第22日。
昨天,我發了一篇極長的關於Silverlight Toolkit for Windows Phone的文章。今天的會短一些,但卻非常珍貴。我會討論你的應用程式設定中非常細微但很重要的設定:類別(Genre)。
如果你建立過一個預設的Windows Phone應用程式(或一個預設的XNA應用程式),並將它部署到模擬器中,你可能會發現它會出現在應用程式列表中(就是當你在起始介面點擊右上方箭頭時出現的列表)。
如果你用過真實的WP7裝置,你很可能會發現所有的遊戲都出現在遊戲中心(Games Hub)中。要做到這一點有一個很簡單的方法,但你在模擬器中操作時你的應用程式好像“消失”了。記住你只能在程式確實是一個遊戲時才能這麼做。如果你沒有說實話那麼很有可能會被App Hub拒絕。
還記得第1日嗎?
在這個系列的第1日中,我講解了一個Silverlight for Windows Phone應用程式中的每一個檔案。想要做出一些小改變,我們所需的就是開啟WMAppManifest.xml文檔。在Visual Studio 2010的解決方案管理器中可以找到它。它在屬性檔案夾中。
在此檔案內,你可以找到關於應用程式的大量中繼資料。像應用程式圖示,應用程式名稱以及需要載入的預設頁面等內容的名稱/路徑資訊。
另外,更改DefaultTask的NavigationPage屬性是一種使手動測試UI更快捷的方法。在那個節點中更改頁面的名稱,你的應用程式就會載入另一個頁面。下面是例子:
<Tasks>
<DefaultTask Name ="_default" NavigationPage="ProductPage.xaml?id=42"/>
</Tasks>
好了,回到手邊的事……讓我們的應用程式出現在遊戲中心而不是像電話中的其他應用程式一樣。要做到這點,我們需要修改App節點的Genre屬性。下面是預設的樣子(我略微調整了Genre的順序):
代碼<App xmlns="" Genre="apps.normal" ProductID="{8743bc4b-a909-4512-aab9-8633d93a5b04}" Title="Day22_AppsVsGames" RuntimeType="Silverlight" Version="1.0.0.0" Author="Jeff Blankenburg" Description="An amazing demo on how to change your app's location." Publisher="Blankensoft">
你可以看到Genre的預設值是“apps.normal”。將它改為“apps.games”然後你會看到你的程式從模擬器中消失了(它並沒有真正消失,只是你在模擬器中看不到遊戲中心而已)。下面是我修改後的例子:
代碼<App xmlns="" Genre="apps.games" ProductID="{8743bc4b-a909-4512-aab9-8633d93a5b04}" Title="Day22_AppsVsGames" RuntimeType="Silverlight" Version="1.0.0.0" Author="Jeff Blankenburg" Description="An amazing demo on how to change your app's location." Publisher="Blankensoft">
如果你有機會將你的程式部署到真實裝置中,就會在遊戲中心裡看到你的遊戲。在美國,這意味著你在11月8號就可以去嘗試了。如果你在新西蘭,那麼現在你已經可以得到一部真機了。
如果想做到這點,你要確保已經在App Hub中註冊了。只有在你註冊的了開發人員賬戶後才能將你的代碼放到你自己的手機中。
下載範例程式碼
這個例子和我上面寫的內容相比沒有什麼更多的內容,但你還是可以把它下載下來。
原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-22-Apps-vs-Games.aspx
如果大家喜歡我的文章,請點擊“推薦”,謝謝!