设为首页 收藏本站
查看: 613|回复: 0

Win8 Metro App里玩XNA:框架问题解决方案

[复制链接]

尚未签到

发表于 2015-5-20 11:16:23 | 显示全部楼层 |阅读模式
  华丽的铺垫
  XNA的介绍是,XNA是基于DirectX的游戏开发环境,是微软对于Managed DirectX 的修正及扩充版本。XNA中的X表示能够在WindowsXbox和合作伙伴之间达到跨平台的强大的软件工具。N表示“下一代(Next-generation)”,A表示“架构(Architecture)”。在很长的一段时间XNA备受关注,毕竟C#的学习成本要低的多,但是很悲催的是微软下一代的操作系统WinRT中,至少说Windows8里并不源生支持XNA,当然了,VS2012开发工具里也没有内置,写到这里可能会被大家认为是吐槽,好吧,我想说的是VS2010也没有带XNA,也许不久的将来XNA Studio 5.0或者4.8什么的会出个SDK安装。
  这个问题却影响到了很多开发者,要知道,XNA真正所被大家用的风生水起却是在WindowsPhone7上,WindowsPhone7官方引导开发游戏用XNA,一些朋友直接或间接的原因在XNA上走出较远路程,例如深蓝色右手、马宁、Elvis、Williams……现在Windows8中的Metro(现在叫Modern)Application还不能支持XNA,至于什么时候,呵呵等吧,WinRT官方的引导是使用DirectX C++或者JS开发游戏应用,至于说XAML/C#(其实就是Silverlight)之类的被扔进了应用方面,其实Silverlight也能做出好的游戏,这点完全可以通过最近在搞的一个游戏产品证明。
  如果说XNA现在不能上Win8,就意味着开发者们要转换技术,就意味着之前的玩意全部成为了过去,就意味着对平台的怀疑,就意味着可能性的流失……您让我们情何以堪啊……
  这才是主题
  前段时间终于盼到了MonoGame支持了Win8 Metro(Modern)UI,这样就可以在VS2012里建XNA项目,等等,MonoGame是什么?好吧,一句话说,这是一群酷B的开发者想在所有平台上跑XNA的开源框架,建立在MonoDevelop基础上使用SharpDX开发,而MonoDevelop是一群更加酷B的开发者想在所有平台上跑C#的酷B事业(例如Unity3D的C#编译器,例如某MMO的跨平台,额,你知道的太多了。),SharpDX是C#语言去编写DirectX的酷B类库。当大家知道这三个都是开源的话,就知道为啥激动地重复说酷B啦。
  MonoGame:http://monogame.codeplex.com/ https://github.com/mono/MonoGame
MonoDevelop:http://monodevelop.com/
SharpDX:http://sharpdx.org/
  其实对于纯粹的做开发而言MonoDevelop是不需要的,只需要MonoGame和SharpDX,但是MonoDevelop有它独特的作用,在以后我们就会碰到。
  如果你看过之前的园子里另外两位所发的介绍在Windows 8 里玩MonoGame文章,应该并不陌生,他们分别是:suguoqiang(抱歉少年,不知道你怎么称呼)、xnagame(凯威同学)
  但很可惜介绍的不太全面,无法马上直接应用,如果解决不了的话很容易放弃,那么我来详细介绍一下如何弄环境:
  ----------------------------------------------------
首先需要……(大约3000字,附图5张)
----------------------------------------------------
  好吧,我知道大家懒得看这么多字和图,其实我也懒得写,对于有耐心读到这里的朋友,心中就一个问题:“怎么在Win8里玩XNA?Mono神马的跟哥有毛线关系!”,那么用三段解决这个问题吧。
  首先你下载一下这个模板:http://files.iyunv.com/nowpaper/ProjectTemplatesCSharp.rar
  注意,这一切最好在Windows8里进行,以及确保拥有VS2012的开发环境,这个模板在MonoGame工程里有提供,但是直接使用是不行的,因为少了很多东西,所以我在MonoGame的VS2012 temple原版的基础上做了一些修改,把所缺的全部补齐,使用者完全不需要去安装和部署各种乱七八糟的环境。
  然后解压到VS2012的模板目录,通常在这里:%USERPROFILE%\Documents\Visual Studio 2012\Templates\ProjectTemplates\Visual C#
DSC0000.jpg
  在这里面建立了一个XNA目录,主要是方便将来找起来这个模板方便。
  最后打开VS2012新建工程,在Visual C#里找到MonoGame模板,建立程序。
DSC0001.jpg
  注意Lib目录中的文件,这是必备的类库,已经将其补全,不用担心少什么。
DSC0002.jpg
  现在打开Game1.cs,感动吧,熟悉的XNA回来了哦,可以运行一下看看,然后Esc关闭,在Metro界面里找一下。
DSC0003.jpg
  在运行中,你会发现鼠标是不可见的,需要在Game构造函数里面写上一句:IsMouseVisible = true;
  这个例子你可以在这儿下载:点击这里下载 本例可以独立运行,不用安装模板,因为实在太懒了,不想每次都得安装半天各种各样的神奇玩意。
  写到这里,我们可以看到一个很有意思可能,是不是XNA的游戏都可以通过这种方式转移到Win8上?通过测试,这是肯定的,WindowsPhone7上XNA的游戏完全可以移植,但是尚有一些问题还未解决,例如Content资源如何处理等等,那么在下一篇将使用一个WindowsPhone XNA游戏移植到Windows8里,敬请期待吧,少年。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-68852-1-1.html 上篇帖子: #Win8# 开发你的第一个App《Dota宝典》 下篇帖子: 手把手玩转win8开发系列课程(21)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表