我正在創建一個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