我正在用C#为Windows 8编写一款WinRT游戏,使用出色的MonoGame。我已经到达了用户获得高分并需要输入其姓名的部分。这给我带来了比我预期的更多的痛苦,所以我想我应该寻求帮助。
-
首先,有没有一个简单的"输入一些文本"功能我可以调用,类似于Windows Phone 7中的Guide.BeginShowKeyboardInput,或者VB中古老的InputBox命令?我使用Windows.UI.Popups.MessageDialog来显示简单的对话框消息,但找不到任何类似的东西来向用户请求文本。
-
如果做不到这一点,有没有一种方法可以让我轻松地使用一小段XAML来呈现一个文本框供用户使用?
如果这两者都不可能,我想我必须自己把这一切都安排好。。。然后我会计划拦截击键,并在屏幕上显示所需的文本。由于我没有实体平板电脑(只有模拟器),我很难从这个开始。如何:
-
检测设备是否有物理键盘,这样我就知道是否要在屏幕上显示键盘了?
-
如果没有物理键盘,如何显示和隐藏屏幕上的键盘?
其中一些听起来应该很容易回答,但我还没有找到其中任何一个的答案。
非常感谢!
亚当。
嘿,在一夫一妻制中有这样一种方法。有一个新的模板可以让你创建一个XAML+游戏,它允许你使用你习惯的游戏类和XAML位。这些链接应该会让你开始。一夫一妻制的团队摇摆不定。
这里列出了三种游戏类型。如果你想要XAML+游戏,现在有一个模板,如果你得到了正确的一夫一妻制版本。
https://github.com/mono/MonoGame/wiki/Windows-8-Project-Types
如果您需要更多帮助,请告诉我。
这不是一个跨平台的解决方案,但您可以使用FlyOut并将数据输入控件放置在窗口上。FlyOut准则在这里,文本输入准则的UI控件在这里。我还在MonoGame中使用MessageDialog向用户询问简单的问题(最多3个选项)或得到Yes | No的回答。你可以在这里获得该课程的详细信息。