OpenXLive是一個wp7平台上的社交推廣工具,我想做一點讓玩家覺得有趣的內容。
OpenXLive能提供很大的助力,以後還可以支援新浪微博綁定什麼的。
因為現在有SL&XNA混合架構了,這裡有辦法做原生的文字顯示,要顯示漂亮的不確定的文字,貼圖怎麼都沒戲。
光好友的名字你就不能用貼圖吧,我以前有個ttf解析的方案,但是一個ttf字型檔很大,所以我選擇了用SL&XNA混合架構。
在這個架構下只能用OpenXLive的SL版控制項。這裡提個小意見,OpenXLive的SL版控制項是豎屏的,XNA版是橫屏的,如果都能橫豎切換就好了。
然後用了OpenXLive的控制項就可以有一個基礎的介面,看了下介面,似乎也可以自己製作這些介面,但既然OpenXLive已經提供了遊戲常用的這些功能,我又何必畫蛇添足呢。
這才是1.0,這些介面以後隨著更新OpenXLive SDK自動就變得更好看了。
第一張是主介面,背景圖可以換。什麼代碼也不用寫,New Game 和Continue 都對應事件,加上自己的代碼就是了。這邊的定製性再強一點就好了,一個有存檔的遊戲才有continue的需求。
一個可以continue的遊戲,new game除了第一次進入遊戲外應該不顯眼。
好了,來看看OpenXLive提供了什麼社交功能吧,排名、成就,這些都可以在OpenXLive網站上配置,很方便也很長用的功能。
線上玩家一個人都沒有,因為我們這是個測試遊戲吧,線上使用者就我自己,公告欄比如遊戲伺服器維護神馬的,可以通知一下使用者。
my center和friends 就沒啥了。
有趣的地方來了,我加了幾個好友以後,然後OpenXLive給了介面讓你可以取得這些朋友們的資訊,所以我在XNA視圖中把這些玩家頭像和名字弄出來了。
我準備弄一個有趣的形象,吧我的好友的頭像貼上去,然後揍他們。
然後說說這個文字顯示吧,弄一個UIElementRender對象,他可以把UIelement複製到Texture對象,我們可以想象一下WriteableBitmap也可以吧UIElement搞上去。
應該就是同一個東西,底層封裝有比較好的copy效能,再好也是像素化操作,不宜一直跑。所以我看到有朋友示範的直接建一個800*480的UIElementRender其實是不適合這個東西的。
要多大建多大,建一次一直畫,差不多就是這樣了。我這個例子中完全感覺不到UIElementRender造成幀數下降的問題。
我把UIElementRender封裝為了靜態標籤和動態標籤,人得名字是靜態,只更新一次。頂上那行是動態。
實用時肯定不止是標籤了,可以利用xaml解析器把向量圖形轉為位元影像,這樣可以降低一些簡單圖形的儲存容量。
還有個情況要小心,混合架構居然沒有鎖幀哦,我為了調試愉快,直接弄到100fps了。但這就直接意味著電池壓力很大。
搞錯了一個東西,GameTimer Update是不鎖幀的,但是Render限制在60,實際三星i917稍微複雜情境就搞到30了。
模擬器表示豪無壓力,下面是在測試billboard