Windows Phone 8 本地代碼實現游戲


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

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

當然如果我們的游戲需要使用以上的功能我們也可以通過混合開發模式進行開發,混合開發模式模板分為兩種 “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

 

Direct3D with XAML Marble Maze

實例代碼下載

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

此文是 升級到WP8必需知道的13個特性 系列的一個更新 希望這個系列可以給 Windows Phone 8開發者帶來一些開發上的便利。

同時歡迎大家在這里和我溝通交流或者在新浪微博上 @王博_Nick

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM