我正在创建一个XNA应用程序,我想在开始XNA应用程序之前添加一个Windows窗体,要求他的用户名和密码登录,我创建了所有这些,但是当我运行我的程序时,它会打开XNA直接窗口。请告诉我如何使用Windows Form运行XNA?连接Windows窗体与XNA应用程序
1
A
回答
1
如何在游戏中创建表单取决于您,但在开始游戏之前检查某些内容的最佳方法可能是放入Program.cs文件。
我做的一个例子是这样的:
using System.Windows.Forms;
static class Program
{
static void Main(string[] args)
{
#if WINDOWS
if (MessageBox.Show("Do you wish to start?", "Start Game", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
using (Game1 game = new Game1())
{
game.Run();
}
}
#endif
}
}
这提示用户有一个问题,如果比赛应该开始。如果您随后使用自己的表单自定义它,而不是检查一些数据并返回有效的DialogResult。如果DialogResult == DialogResult.OK,那么用户是有效的,也许对话框可以存储登录信息,以便游戏可以获得它(如果需要),也许在game.Run()之后做到这一点。
在创建自定义InputDialog时,它非常简单。我有一个动态输入框,我只是为此定制。这个简单的布局这个就变成了:
我登入对话框using System.Windows.Forms;
static class Program
{
static void Main(string[] args)
{
#if WINDOWS
XNASignIn signinDialog = new XNASignIn();
DialogResult result = DialogResult.Abort;
while (result == DialogResult.Abort)
{
result = signinDialog.ShowDialog();
if (result == DialogResult.Abort)
MessageBox.Show("You entered the wrong username and password");
}
if (result == DialogResult.Cancel)
MessageBox.Show("You cancelled the login, the game will exit");
else if (result == DialogResult.OK)
{
using (Game1 game = new Game1())
{
game.Run();
}
}
#endif
}
完整的源代码:
只需创建一个类,并将其复制在
记得添加引用。为您的XNA项目的System.Windows.Forms。
相关问题
- 1. 将SQL与Windows窗体应用程序连接
- 2. Windows窗体应用程序
- 3. 如何访问Windows窗体应用程序中的XNA参考
- 4. Windows窗体应用程序的连接字符串
- 5. C++ Windows窗体应用程序Mysql连接
- 6. 将aspx连接到Windows窗体应用程序
- 7. 连接到informix数据库窗体窗体应用程序
- 8. C#Windows窗体与Firebird数据库(LAN网络)连接应用程序
- 9. Windows窗体应用程序可以与Windows通用应用程序交互吗?
- 10. Windows窗体应用程序使用HTML
- 11. Windows窗体应用程序异常
- 12. 不兼容Windows窗体应用程序
- 13. Mergesort C++ Windows窗体应用程序
- 14. C#Windows窗体应用程序关闭
- 15. Windows窗体应用程序中的WCF
- 16. Windows多窗体应用程序设计
- 17. 美化Windows窗体应用程序
- 18. 部署VB.NET Windows窗体应用程序
- 19. Windows窗体应用程序中的SQLException
- 20. Windows窗体应用程序中的Windows.Web.Http?
- 21. 调试Windows窗体应用程序
- 22. 带Web应用程序的Windows窗体
- 23. Windows窗体应用程序性能
- 24. WPF或Windows窗体应用程序
- 25. 便携式Windows窗体应用程序
- 26. Windows窗体应用程序的定位
- 27. 添加应用程序配置为Windows窗体应用程序
- 28. 从Windows窗体应用程序中保存新的连接字符串?
- 29. 如何隐藏Windows窗体应用程序中的连接字符串
- 30. 对接和锚定在Windows窗体应用程序
整个游戏是假设在一个窗体中,还是只是想要启动登录程序? – Deukalion 2013-04-24 10:14:37
如果您想获得更多答案,提示可能会将您的问题标记为已回答,如果答案是肯定的,您将获得更多答案。我看到你已经提出了很多问题,但从未标记过答案。另外,我添加了一个例子。如果您希望为您的游戏添加控件,请说出来,我可以给你一个例子说明如何做到这一点相当简单。 – Deukalion 2013-04-24 10:58:30
非常感谢你! :) – 2013-04-26 07:41:11