将XNA VB.Net游戏转换为MonoGame
我正在用XNA和VB.NET编写策略游戏.这个技术组合看起来是一个很好的选择,直到我决定切换到MonoGame(但保持我的游戏逻辑在VB.Net中完好无损).
问题是MonoGame目前不支持VB.Net.我做了一些研究,似乎我基本上有两个选择: >将我的代码重写为C# 毋庸置疑,这两种选择都很糟糕.我在这里错过了另一种选择吗?我不介意花大力气让这个东西在MonoGame中运行,但重写不是一个选择. 到目前为止我的发现: 在浏览网页时,我偶然发现了a MonoGame template for VB.Net.虽然它看起来正是我所需要的,但即使在运行一个普通的新项目之后它也会在加载时崩溃.然后我继续谷歌搜索错误,但无处可逃. 解释我的技术选择(因为有人会问): 为何选择XNA?我之前使用它,我对它很熟悉,即使它已经过时了,它也能很好地满足我的需求,并且应该可以使用几年. 为什么选择VB.Net?我有很多经验,我更喜欢它的语法而不是C#.这对我很重要,因为我正在编写一个相当大规模的策略游戏并且保持代码清洁和可理解是至关重要的. 为什么不用C#?经验.我和C#合作了一年多一点,但这还不自然. VB是. 解决方法
我找到了解决方案.一个失败的无痛方式来完成这项工作是我之前提到的
MonoGame template.这种方法存在一些小问题,但没有什么问题.
问题#1:启动MonoGame项目时出错. 问题2:MonoGame中缺少内容项目. 然而,它未能做的是从未编译的内容文件(例如myFont.spriteFont)加载声音和字体.对于MonoGame内容,声音和字体文件必须用XNA项目中的编译版本替换. 此外还有一个小麻烦 – 每个内容文件必须标记为“始终复制”或“如果更新则复制”(默认为“永不复制”).我并没有真正找到一种方法来同时为所有这些改变它,但它并不需要那么多时间. 问题#3:XNA项目自动解决导入问题. 我仍然想知道这是由XNA项目还是Visual Studio本身的其他配置引起的,但我必须说我喜欢它.如果您对此有所了解,请分享. 结论:回顾过去,移植到MonoGame的过程花了我一个月的时间来弄清楚 – 但是当我最终得到所有的碎片时,整个过程花费了大约4个小时来完成100个源文件100内容文件项目.我会说MonoGame的工作人员做了大量的工作,修改模板以与VB.Net合作的绅士也是如此. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |