Iam making game in xna, и теперь мне нужно взять какой-то ввод, как имя и пол. Было бы намного проще, если бы я использовал C#, но я не знаю, как это сделать здесь. Пожалуйста, помогите как можно скорееКак взять пользовательский ввод, как имя и пол в xna?
ответ
Используйте существующую библиотеку пользовательского интерфейса, такую как xWinForms. Вы можете найти дополнительные опции в вопросе UI library for XNA.
Вы используете C#, когда используете XNA. Рамка XNA - это всего лишь набор DLL, которые вы программируете против использования C#.
Что касается ввода ввода, вы можете либо закодировать собственные элементы управления, либо использовать некоторые существующие библиотеки. Оба варианта имеют свои плюсы и минусы.
У нас есть FAQ над на форумах XNA под названием «Что GUI системы существуют для платформы XNA», который, вероятно, будет полезным для чтения для вас ->http://forums.create.msdn.com/forums/t/15274.aspx
Если бы я делал это, я бы слушать для некоторых клавиш, а затем кнопки «Ввод». Затем я повторю это столько раз, сколько мне нужно. Код для него ниже.
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);
}
Проще реализовать свои собственные контрольные функции. Используйте spritebatch и зарегистрируйте штрихи в строчном буфере, затем покажите его на экране с помощью spriebatch.DrawString (..)
- 1. Как взять пользовательский ввод и назначить массив
- 2. Взять пользовательский ввод в Python 2.7
- 3. Как взять пользовательский ввод и вставить в запрос http get?
- 4. Взять пользовательский ввод с фона
- 5. Я пытаюсь взять пользовательский ввод и отображение
- 6. Взять пользовательский ввод и использовать его как Процесс
- 7. Как взять пользовательский ввод и показать его на моем массиве?
- 8. Взять пользовательский ввод для вычисления в javascript
- 9. Взять пользовательский ввод и сохранить в массив в файле
- 10. Как взять ввод строки одновременно?
- 11. Нужно взять пользовательский ввод и вывести его все в конце
- 12. Взять пользовательский ввод и вставить его в другое поле java
- 13. Взять пользовательский ввод и выполнить поиск Статический каталог
- 14. Взять отфильтрованный пользовательский ввод и сделать его соответствующим опции меню
- 15. как взять ввод переменной int и записать ее в файл?
- 16. Как взять пользовательский ввод и вставить его в процесс каталога копирования в пакетном файле?
- 17. Как обрабатывать пользовательский ввод Django?
- 18. Как взять/использовать последовательный ввод в verilog?
- 19. Как взять ввод строки в разных строках?
- 20. Взять пользовательский ввод для создания цикла `for` в Android
- 21. Взять пользовательский ввод во время работы в Matlab
- 22. Как взять ввод в астерикс WHILE typing?
- 23. Как взять ввод с клавиатуры в AutoIt?
- 24. Как изменить пол и имя голоса в pyttsx
- 25. UITableView: как вернуть пользовательский ввод
- 26. Как реализовать пользовательский ввод
- 27. Как взять пользовательский ввод, проверить его как целое число и использовать его для создания нескольких прямоугольников?
- 28. Как преобразовать пользовательский ввод в список?
- 29. Facebook Graph API: пользовательский пол
- 30. Как взять другое имя пользователя?