XNA、FNA以及在VS2017中编写XNA

本文探讨了XNA这一早期C#游戏开发环境及其跨平台实现FNA的使用。介绍了在VS2017中配置XNA的步骤,包括安装运行时、SDK和工具链。同时,详细说明了如何通过FNA实现在不同平台上运行XNA游戏,无需修改代码。
摘要由CSDN通过智能技术生成

XNA是早期DX SDK支持的C#游戏开发环境,虽然现游戏开发大多是以Unity3D,Unreal 4为主,但是许多独立游戏开发者,特别是2D游戏,依然使用XNA进行开发,

纠其原因,猜测是C#开源且有了跨平台实现。

这可以从许多独立游戏的Switch移植版看出端倪,使用XNA开发游戏依然有一定的优势。

 

首先是在VS2017中编写XNA,配置见这篇文章。

http://flatredball.com/visual-studio-2017-xna-setup/

简单总结

1.安装XNA 4.0的运行时,SDK等,再安装VS2017的工具链XNA Game Studio 4.0.vsix

2.复制XNA 4.0的模板

C:\Program Files (x86)\MSBuild\Microsoft\XNA Game Studio

到VS2017目录中
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\XNA Game Studio

3.管理员权限运行Developer command prompt for VS 2017

mklink /D "D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\XNA Game Studio" "C:\Program Files (x86)\MSBuild\Microsoft\XNA Game Studio"

  

注册全局缓冲

cd D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin
gacutil /i Microsoft.Build.Framework.dll
gacutil /i Microsoft.Build.dll
gacutil /i System.Collections.Immutable.dll
gacutil /i Microsoft.Build.Utilities.Core.dll

  

这样就可以在VS2017中使用XNA 4的工程模板了。

不过有个小问题,就是不能像VS2010一样生成字体文件了,创建不了,没有字体选项,不知道是哪的问题,

不过因为中文字体一般会使用bmfont渲染,对我来说暂时没影响,网上搜了一圈似乎没找到Freetype的C#实现,自己移植太花时间精力,估计所有人都一样所以才没什么人搞吧。

========================================

接下来是FNA,FNA是一个与XNA使用几乎完全相同的XNA 4跨平台实现,因为命名空间和实现相同,所以你可以在不修改XNA工程的情况下,直接切换成FNA使用。

Mono Game似乎也是这样,但是暂时还没用过。

FNA我在Win7下简单测试,一切正常。

写本文时FNA最新版本为19.02

安装与依赖见这个wiki

https://github.com/FNA-XNA/FNA/wiki/1:-Download-and-Update-FNA

简单来说,下载源码

https://github.com/FNA-XNA/FNA/releases

编译出FNA.dll

下载预编译依赖库

http://fna.flibitijibibo.com/archive/fnalibs.tar.bz2

在你的新工程里引用一下DLL,重新编译就能运行了。

 

值得一提的是,FNA是开源的XNA实现,可以参考源码实现,果然未来属于开源,对着源码调式就是舒服。

 ========================================

2019.05.24 更新

 

昨天不知道装什么了,导致今天不能在VS2017中新建XNA4.0工程了,工程模板可以显示,但是没有图标,并且创建工程失败,打开以往的VS2017 XNA工程也加载失败,重新安装XNA SDK以及以上全部VS2017 XNA安装对应运行时及VS2017工具链等操作,又正常了。

 

转载于:https://www.cnblogs.com/kileyi/p/10458542.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值