天天看點

Windows Phone 8 本地代碼實作遊戲

說到遊戲多數開發者一定最先想到的就是 C++或者DirectX 等3D遊戲引擎,在我們的Windows phone8中同樣支援 C++ 與 Direct 3D 的開發,今天我就給大家介紹一下這種開發模式。

首先給家說明一下,在windows phone8 中微軟并沒有提供像 windows 8 的那種直接支援C++調用 WinRT的接口 是以有一部分的 windows phone8 的特×××在C++就就比較遺憾不可以使用了。

Windows Phone 8 本地代碼實作遊戲

當然如果我們的遊戲需要使用以上的功能我們也可以通過混合開發模式進行開發,混合開發模式模闆分為兩種 “XAML 和 Direct3D 項目模闆” 和 “Direct3D 和 XAML” 項目模闆。

其中“XAML 和 Direct3D 項目模闆” 是在原有的Xaml+托管代碼的開發模式中引入一個 DrawingSurface 控件在UI 中顯示該控件也是 FrameworkElement 的子類可以當做一個控件使用在Xaml檔案中。

Windows Phone 8 本地代碼實作遊戲
另外“Direct3D 和 XAML 項目模闆” 是使用的一個 DrawingSurfaceBackgroundGrid 控件是內建與 Grid 控件必須作為頁面的根節點(也就是背景,會覆寫整個頁面)并且此中開發模闆的運作效率會略高于前者。
Windows Phone 8 本地代碼實作遊戲

混合開發模式的優勢 - 此種開發模闆擁有完整的UI架構以及完整的頁面聲明周期,使應用開發迅速簡單,可以靈活的使用Direct3D控件呈現在XAML頁面中,又可以使用托管代碼中調用本地代碼,并且可以調用windows phone8 的特殊功能。

純Direct 3D開發模式更适用于複雜的3D遊戲,以及跨平台的移植。

混合開發模式下的項目,

  1. <DrawingSurfaceBackgroundGrid x:Name="DrawingSurfaceBackgroundGrid"> 
  2.       <DrawingSurface x:Name="DrawingSurface"/> 
  3.   </DrawingSurfaceBackgroundGrid> 
Windows Phone 8 本地代碼實作遊戲

在Direct 開發中使用Windows phone8 的特性

Link: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207052(v=vs.105).aspx

Windows Phone 8 本地代碼實作遊戲

Direct3D with XAML Marble Maze

執行個體代碼下載下傳

Windows Phone 8 本地代碼實作遊戲
Windows Phone 8 本地代碼實作遊戲

 以上是一個本地代碼采用混合開發模式的一個講解,希望通過大家的努力在Windows phone 8出現更多優秀的遊戲作品。