1. 程式人生 > >Windows Phone 8 原生代碼實現遊戲

Windows Phone 8 原生代碼實現遊戲

原文:http://www.cnblogs.com/sonic1abc/archive/2013/03/04/2942751.html

說到遊戲多數開發者一定最先想到的就是 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

相關推薦

Windows Phone 8 原生實現遊戲

原文:http://www.cnblogs.com/sonic1abc/archive/2013/03/04/2942751.html 說到遊戲多數開發者一定最先想到的就是 C++或者DirectX 等3D遊戲引擎,在我們的Windows phone8中同樣支援 C++

JS原生實現導航高亮

meta 樣式 添加 代碼 所有 wid 因此 margin position 一 實現原理 根據當前頁面滾動條的高度判斷當前頁面應當與導航欄中哪個導航相關聯,並對相應的導航設置高亮樣式。 二 代碼解析 先簡單寫一個頁面頂端的導航欄:<nav> <ul&

HTML5遊戲實戰之20行實現打地鼠

before line asc win csdn 實戰 動畫 and wiki 之前寫過一篇打地鼠的博客70行的代碼實現打地鼠遊戲,細致思考過後,發現70行代碼都有點多余了,應用tangide的控件特性,能夠將代碼量縮減到20行左右。 先show一下終於成果,點擊試

心跳機制tcp keepalive的討論、應用及“斷網”、"斷電"檢測的C實現(Windows環境下)

astar har 心跳 存在 假設 clu ali clean struct 版權聲明:本文為博主原創文章,轉載時請務必註明本文地址, 禁止用於任何商業用途, 否則會用法律維權。 https://blog.csdn.net/stpeace/article/details/

原生提交到Github(Windows

1.首先登陸github網站,點選Repositories 新建倉庫: 2.複製連結: 3.回到本地,在要提交程式碼的目錄下,空白地方右鍵即可(前提是電腦已經安裝了Git),點選“Git Bash Here” 4.隨後會開啟一個git視窗: 輸入

js原生給select選擇框實現onchange事件

選擇框 nodes func item index element node .get 當前 <select name="limit" onchange="selectStages()"> //綁定onchange事件 &

Windows系統下搭建Git原生

系統環境:Dell OptiPlex 7050作業系統版本:windows 10 專業版 1803;17134.481.  因為Git需要Java環境的支援,所以首先要安裝好Java環境。Java環境安裝這裡不在敘述,如有問題去網上查詢一下安裝教程即可。Java環境安裝好之後

GitHub上傳原生到倉庫[Windows]

1.前言 GitHub很久之前就想比劃了,今天裝了一下。可是在將原生代碼上傳到專案倉庫中的時候遇到了一點問題,CSDN上也講了很多方法,作為小白簡單地記錄一下我的心得。 2.GitHub安裝 我

WebViewJavascriptBridge 使用 js調iOS原生

創建 smi creat color web var key urn cti js代碼和原生ios代碼進行交互使用WebViewJavascriptBridge非常簡化了我們的操作特別是在ios這邊 js 掉用ios原生代碼時要註意的幾個事項: 1、js和ios定義好相互調

胡扯一點實現小技巧啦啦啦~ x

cnblogs ++ 利用 喜歡 代碼實現 ron 等價 -s size 一. for(int t=m; t; t--) a[++n] = b[t]; // 循環中間的 t:非零即真,遇到 t=0 才停下 int ans(0); // 效果等價於 ans=0

C++筆記(5):繼承和多態實現

c++筆記 esp 變量 main style cnblogs radius 區分 fine Shape.h 1 #ifndef SHAPE_H 2 #define SHAPE_H 3 #include<string> 4 using std::str

IOS布局筆記一(實現自己主動布局)

tde tps space sina idt normal title 2014年 otto 1.將一個試圖放置在其父視圖的中央位置,使用限制條件。 2.創建兩個限制條件:一個是將目標視圖的 center.x 位置排列在其父視圖的 center.x 位置,而且另

【轉載】對一致性Hash算法,Java實現的深入研究

困難 之前 存在 itl ger 正常 我不 操作 算法實現 原文地址:http://www.cnblogs.com/xrq730/p/5186728.html 一致性Hash算法 關於一致性Hash算法,在我之前的博文中已經有多次提到了,MemCache超詳細解讀一

100行實現最簡單的基於FFMPEG+SDL的視頻播放器(SDL1.x)【轉】

工程 全屏 升級版 gin avcodec ive 系列文章 相同 hello 轉自:http://blog.csdn.net/leixiaohua1020/article/details/8652605 版權聲明:本文為博主原創文章,未經博主允許不得轉載。

對一致性Hash算法,Java實現的深入研究

memcach 還原 情況 () 實用 target 強人 最壞情況 一致性hash 一致性Hash算法 關於一致性Hash算法,在我之前的博文中已經有多次提到了,MemCache超詳細解讀一文中"一致性Hash算法"部分,對於為什麽要使用一致性Hash算法、一致性Has

冒泡排序的python實現

代碼實現 python代碼 emp val pytho 冒泡 for print python li = [33, 2, 10, 1,564,880,8,99,51,3]# for i in range(len(li) - 1):# current = li[i]#

分數序列【VB實現

bsp ges width 個數 代碼實現 nbsp img .cn images 有一個分數序列 求出這個數列的前20項之和。 代碼1 Private Sub Command1_Click() Dim sum As Double Dim a As In

10 行 Python 實現模糊查詢/智能提示

import 3.5 django title gif function 項目 正則表達 裏的 10 行 Python 代碼實現模糊查詢/智能提示 1、導語: 模糊匹配可以算是現代編輯器(如 Eclipse 等各種 IDE)的一個必備特性了,它所做的就是根據用戶輸入

Java OCR tesseract 圖像智能字符識別技術 Java實現

fonts tab boolean redirect rhel exist easy clas print 接著上一篇OCR所說的。上一篇給大家介紹了tesseract 在命令行的簡單使用方法,當然了要繼承到我們的程序中,還是須要代碼實現的。以下給大家分享下java實現

IOS 自定義按鈕(實現)+九宮格

uifont 排列 end uiview height iyu void rec name 在一些下載應用裏整個頁面都是按鈕,有好多好多,但是仔細觀察不難發現他們很有規律。就像下面一樣?? 很有規律的排列在屏幕上,那麽這需要我們怎麽去做能。 正如標題,我們需要了解兩個知