說到游戲多數開發者一定最先想到的就是 C++或者DirectX 等3D游戲引擎,在我們的Windows phone8中同樣支持 C++ 與 Direct 3D 的開發,今天我就給大家介紹一下這種開發模式。
首先給家說明一下,在windows phone8 中微軟並沒有提供像 windows 8 的那種直接支持C++調用 WinRT的接口 所以有一部分的 windows phone8 的特性功能在C++就就比較遺憾不可以使用了。
升級到WP8必需知道的13個特性 系列文章目錄地址:http://www.linuxidc.com/Linux/2013-08/89003.htm
當然如果我們的游戲需要使用以上的功能我們也可以通過混合開發模式進行開發,混合開發模式模板分為兩種 “XAML 和 Direct3D 項目模板” 和 “Direct3D 和 XAML” 項目模板。
其中“XAML 和 Direct3D 項目模板” 是在原有的Xaml+托管代碼的開發模式中引入一個 DrawingSurface 控件在UI 中顯示該控件也是 FrameworkElement 的子類可以當做一個控件使用在Xaml文件中。
另外“Direct3D 和 XAML 項目模板” 是使用的一個 DrawingSurfaceBackgroundGrid 控件是集成與 Grid 控件必須作為頁面的根節點(也就是背景,會覆蓋整個頁面)並且此中開發模板的運行效率會略高於前者。
混合開發模式的優勢 - 此種開發模板擁有完整的UI框架以及完整的頁面聲明周期,使應用開發迅速簡單,可以靈活的使用Direct3D控件呈現在XAML頁面中,又可以使用托管代碼中調用本地代碼,並且可以調用windows phone8 的特殊功能。
純Direct 3D開發模式更適用於復雜的3D游戲,以及跨平台的移植。
混合開發模式下的項目
<DrawingSurfaceBackgroundGrid x:Name="DrawingSurfaceBackgroundGrid"> <DrawingSurface x:Name="DrawingSurface"/> </DrawingSurfaceBackgroundGrid>
在Direct 開發中使用Windows phone8 的特性
Link: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207052(v=vs.105).aspx
實例代碼下載
以上是一個本地代碼采用混合開發模式的一個講解,希望通過大家的努力在Windows phone 8出現更多優秀的游戲作品。