我在xna製作遊戲,現在我需要輸入一些像姓名和性別的信息。如果我使用C#但會更容易,但我不知道如何在此處執行此操作。請儘快幫助如何在xna中像用戶名和性別一樣輸入用戶輸入?
1
A
回答
0
使用現有的用戶界面庫,如xWinForms。您可以在UI library for XNA問題中找到更多選項。
4
當您使用XNA時,您正在使用C#。 XNA框架只是您使用C#編程的一組dll。
至於輸入,你可以編碼自己的控件或使用一些現有的庫。兩種選擇都有其優點和缺點。
我們在有一個FAQ上稱爲XNA論壇「什麼GUI系統是那裏的XNA框架」,可能會成爲你的有用讀 - >http://forums.create.msdn.com/forums/t/15274.aspx
0
如果我這樣做,我會聽對於某些按鍵,然後是「Enter」按鈕。我會盡可能多地重複我所需要的。代碼如下。
KeyboardState key;
OldKeyboardState oldKey;
String input;
//Puts final input in this
String finalIn;
String finalIn2;
String finalIn3;
protected override void Update(GameTime gameTime)
{
key = Keyboard.GetState();
//Do for all acceptable characters
if (key.IsKeyDown(Keys.A) && key.IsKeyDown(Keys.RightShift) && oldKey.IsKeyUp(Keys.A) && oldKey.IsKeyUp(Keys.RightShift)) input = input + "A";
else if (key.IsKeyDown(Keys.A) && oldKey.IsKeyUp(Keys.A) input = input + "a";
//Etc.
//Finalize input when enter is pressed
if(key.IsKeyDown(Keys.Enter) && oldKey.IsKeyUp(Keys.Enter))
{
finalIn = input;
input = "";
}
//Finalize input when enter is pressed for second input
if(key.IsKeyDown(Keys.Enter) && oldKey.IsKeyUp(Keys.Enter) && finalIn != "")
{
finalIn2 = input;
input = "";
}
//Etc.
//At end set oldKey = key, so we have the current one and the old one
oldKey = key;
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
//If desired, add in a draw string to show user what is being inputed
base.Draw(gameTime);
}
0
實現您自己的控件更容易。在字符串緩衝區中使用spritebatch並註冊擊鍵,然後使用spriebatch.DrawString(..)在屏幕上顯示它(...)
相關問題
- 1. C#XNA - 用戶輸入
- 2. 如何讓用戶輸入用戶名?
- 3. 從用戶輸入中識別名字
- 4. 如何在用戶輸入時更改輸入的類別?
- 5. 如何在這裏輸入用戶名?
- 6. 用戶輸入和輸出
- 7. 用戶輸入類別
- 8. 如何在用戶輸入中獲得一些價值輸入
- 9. 在Java中輸入用戶輸入
- 10. 輸入和用戶輸入驗證
- 11. 名稱的用戶輸入
- 12. 用戶如何輸入文件名?
- 13. 用戶輸入
- 14. 用戶輸入
- 15. 用戶輸入
- 16. 用戶輸入
- 17. 用戶輸入
- 18. 用戶輸入
- 19. 用戶輸入
- 20. 用戶輸入
- 21. 在網址中輸入用戶名
- 22. 如何根據用戶的輸入使用別名方法
- 23. 如何問用戶輸入
- 24. 如何在腳本中輸入密碼和用戶名
- 25. JOptionPane輸入用戶名和密碼
- 26. 輸入數據(用戶名和密碼)
- 27. 檢查用戶名和密碼輸入++
- 28. 如何在輸入框中保持用戶輸入? [HTML/AngularJS]
- 29. 如何找出用戶在文本輸入中按下「輸入」?
- 30. Rails:如何讀取用戶在text_field_tag輸入中輸入的值?