2012-09-03 29 views
5

Estoy escribiendo un juego WinRT para Windows 8, en C#, utilizando el excelente MonoGame. Llegué a la parte donde el usuario alcanzó un puntaje alto y debe ingresar su nombre. Esto me está causando más dolor del que esperaba, así que pensé que pediría ayuda.Introducción de texto en Windows 8 en la aplicación C#/MonoGame

  • En primer lugar, no es una simple función de "introducir texto" que puedo llamar, similar a Guide.BeginShowKeyboardInput en Windows Phone 7, o el comando antigua InputBox en VB? Estoy usando Windows.UI.Popups.MessageDialog para mostrar mensajes de diálogo simples, pero no puedo encontrar algo similar para solicitar el texto del usuario.

  • De lo contrario, ¿hay alguna manera en que pueda usar fácilmente una pequeña parte de XAML para presentar un cuadro de texto para que el usuario lo use?

Si ninguno de estos son posibles, supongo que voy a tener que cablear todo esto por mí mismo ... entonces me plan para interceptar las pulsaciones del teclado y mostrar el texto deseado en la pantalla de mi mismo. Como no tengo una tableta física (solo el simulador) estoy luchando por comenzar con esto. ¿Cómo puedo:

  • detectar si el dispositivo tiene un teclado físico, por lo que saber si se muestra o no el teclado en pantalla?

  • Si no hay un teclado físico, ¿cómo puedo mostrar y ocultar el teclado en pantalla?

Algunos de estos parecen que deberían ser fáciles de responder, pero todavía tengo que rastrear las respuestas a cualquiera de ellos.

¡Muchas gracias!

Adam.

Respuesta

4

Oye, hay una manera de hacerlo en monogame. Hay una nueva plantilla que te permite crear un juego XAML + Game que te permite usar la clase de juego que solías usar con los bits xaml también. Estos enlaces deberían ayudarte a comenzar. El equipo monogame rockea.

Existen los tres tipos de juegos enumerados allí. Si quieres XAML + Game, ahora tienes una plantilla si obtienes la versión adecuada de monogame.

https://github.com/mono/MonoGame/wiki/Windows-8-Project-Types

que me haga saber si necesita más ayuda

+0

Esta nueva funcionalidad en MonoGame resuelve el problema perfectamente, ¡gracias! –

2

Esto no es una solución multiplataforma, pero se podía utilizar un menú lateral y colocar los controles de entrada de datos en la ventana. Las pautas de FlyOut son here y los controles de interfaz de usuario para las pautas de entrada de texto son here. También he usado MessageDialog en MonoGame para hacerle preguntas simples al usuario (hasta 3 opciones) o para obtener una respuesta Sí | No. Puede obtener detalles de esa clase here.

Cuestiones relacionadas