zoukankan      html  css  js  c++  java
  • Win8 Metro App里玩XNA:移植XNA游戏到Win8

      Ready !

    在本文中,将把一个WindowsPhoneXNA的游戏移植到Win8 Metro(Modern)风格上,直接在Win8的界面里可以看到,而不是一个exe的执行程序,使用非常简便的方式就完成这个移植过程,移植其他更复杂的游戏也是大同小异,当然了如果你的应用里使用了大量的平台特性,你就得自行处理和更改,在本文中准备了一个XNA的游戏例子,该游戏是微软MSDN中的例子,叫做ChaseCamera的介绍摄像机工程,你可以直接到微软官方网站下载:http://xbox.create.msdn.com/zh-CN/education/catalog/sample/chasecamera

    先看看在WP7模拟器上的运行效果:

    Build完成之后,拷贝或切换到Windows8开发环境中,下一步就会使用到。

      In Windows 8

    确保你有VS2012的开发环境,现在新建一个MonoGameApplication,选择新建项目->在Visual C#里找到MonoGame模板(这里不明白的参看前一篇《Win8 Metro App里玩XNA:框架问题解决方案》):

    在项目里建立Content目录,在浏览器里找到刚才的ChaseCamera工程目录,打开bin\Windows Phone\Debug或者bin\Windows Phone\Release目录,你会发现Content目录,打开它将其中所有的文件(通常都是.xnb)全部添加到项目的Content目录下,将添加的所有文件的资源生成操作属性改为“Content”(“内容”)。

    现在把代码文件拷贝过来,这需要一些注意的地方,例如在ChaseCamera里没有Game1.cs,而是ChaseCameraGame.cs,删掉原来的Game1.cs,然后将下面的文件添加到工程中:
    ChaseCamera.cs
    ChaseCameraGame.cs
    Ship.cs

    这些文件其实就是主要的逻辑代码文件,但是需要做一下修改,先删除掉原有代码文件中的程序入口点,如果你打算改工程的话,可以试试。

    然后把原有的入口点中要开启的Game变成ChaseCameraGame,注意命名空间。

    也许会有人问,就这么简单?是的!就是这么简单,运行一下看看吧。

    看起来不错哦,但是这并没有完结,你会发现一个问题,就是添加的资源是.xnb文件,而不是真正的资源文件(.x、.bmp、.fbx),刚才我们使用了VS帮忙生成,其他的方式也有民间高手开发的xnb生成工具,但大多都是处理单一的内容,要么是生成Texture的要么是生成声音的,混合起来的没有找到,如果加之有自定义的内容管线,那就悲剧了,所以这是我们需要忍耐的问题:无法在Windows8的开发环境里直接得到xnb文件,如果哪位有好办法一定要不吝告知,泪奔中啊。。。

    本例下载:请点击这里下载

    细心的朋友一定会发现ChaseCamera实际上还有Windows版,打开研究之后其实代码和WindowsPhone版是一样的,如果玩玩的话其实对键盘也是支持的哦,最后可以落到本篇题目,XNA游戏借助MonoGame就完全能顺利的移植到Win8 Metro(Modern)风格下。

    既然XNA已经如此顺林的在Win8里跑起来,那么在此之上的第三方XNA引擎是不是可以玩转Win8呢,这是完全没有问题的,例如cocos2d-xnanine engine……下一篇将介绍cocos2d-xna运行在Win8上的移植。

  • 相关阅读:
    pat甲级 1155 Heap Paths (30 分)
    pat甲级 1152 Google Recruitment (20 分)
    蓝桥杯 基础练习 特殊回文数
    蓝桥杯 基础练习 十进制转十六进制
    蓝桥杯 基础练习 十六进制转十进制
    蓝桥杯 基础练习 十六进制转八进制
    51nod 1347 旋转字符串
    蓝桥杯 入门训练 圆的面积
    蓝桥杯 入门训练 Fibonacci数列
    链表相关
  • 原文地址:https://www.cnblogs.com/nowpaper/p/2666544.html
Copyright © 2011-2022 走看看