所以我想为我的游戏设置一个winforms GUI ...但是我似乎无法找到经过测试可以使用Monogame的GUI库。这就是我有另一个计划的原因:
我应该像在控制台应用程序中一样,将字符串数组传递给Monogame应用程序的主要空白,如下所示:
using System;
namespace myGame
{
#if WINDOWS || LINUX
/// <summary>
/// The main class.
/// </summary>
public static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
using (var game = new Game1())
game.Run();
if (args[0] != "startFromWinForms")
{
// Find a way to close or
// on the other hand I think
// it will throw an exception??
}
}
}
#endif
}
你会怎么做?你推荐什么方法?此外,解释的代码示例/想法也很棒!
答案 0 :(得分:0)
喜欢这个吗?
[STAThread]
static void Main(string[] args)
{
if (args[0] == "startFromWinForms")
{
using (var game = new Game1())
game.Run();
}
}
如果你有一个argiment,你将开始你的游戏,否则没有任何反应
答案 1 :(得分:0)
让我们退一步看看你原来的要求。
我想为我的游戏设置一个winforms GUI ...当用户点击&#34;开始游戏&#34; [游戏将开始]
我刚刚尝试了一个简单的解决方案,我认为解决您的问题,而需要创建2个项目。我所要做的就是:
Form1
)。在Main()
方法中:
[STAThread]
static void Main()
{
var form = new Form1();
if (form.ShowDialog() == DialogResult.OK)
{
using (var game = new Game1())
game.Run();
}
}
在Form1
按钮点击事件:
private void StartGameButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
}
就是这样。您不需要在命令行上传递任何内容。您只有1个exe,它符合所有要求。 MonoGame与现在完全一样,WinForms代码与游戏保持隔离。