想知道是否仍然可以运行XNA游戏而不显示任何内容。
我有一个在客户端服务器设置中运行的工作游戏,其中一个玩家是主机,其他人可以连接到他的游戏。
现在,我希望能够在没有显卡的专用服务器上作为主机运行游戏,基本上我根本不想运行任何Draw()逻辑。
我真的需要遍历整个游戏并删除对XNA的所有引用吗?
人们是如何做到的?
编辑:我想要这样做的原因是因为我在游戏中安装了可运行的客户端服务器,并且我不想制作单独的“无头”服务器程序。
想知道是否仍然可以运行XNA游戏而不显示任何内容。
我有一个在客户端服务器设置中运行的工作游戏,其中一个玩家是主机,其他人可以连接到他的游戏。
现在,我希望能够在没有显卡的专用服务器上作为主机运行游戏,基本上我根本不想运行任何Draw()逻辑。
我真的需要遍历整个游戏并删除对XNA的所有引用吗?
人们是如何做到的?
编辑:我想要这样做的原因是因为我在游戏中安装了可运行的客户端服务器,并且我不想制作单独的“无头”服务器程序。
Answers:
答案是:不要这样做。如果您不需要制作游戏-即;您不想利用XNA提供的功能,为什么呢?您确实应该研究开发可以成功模拟您想要玩的游戏的自定义软件-通常是某种类型的控制台系统。如果您提供更多详细信息,我将使用不太通用的答案来更新我的答案。
好吧,如果您只是想消除抽奖电话,请尝试使用以下方法:取消抽奖
为了建立无标题的建议,您可以仅包含对DLL的引用并使用它们,而无需使用任何默认的游戏循环。例如,您可以查看创作者俱乐部上的winforms教程系列:http : //xbox.create.msdn.com/en-us/education/catalog/sample/winforms_series_2
同样,如果您想更加花哨,可以用自己的自定义循环替换整个XNA游戏循环,并控制整个过程。有关此的更多信息,请参见 /programming/6361691/custom-xna-game-loop-in-windows
您还可以考虑覆盖更新和绘制调用,而只需返回即可。
另外,不要在您的主要游戏类中调用graphicsdevice,这将阻止xna窗口在充当服务器的游戏中被实例化。
Draw
like 编写代码if (headless) { return; }
?