【问题标题】:How can I create a text box on iOS/Android and handle the input in MonoGame?如何在 iOS/Android 上创建文本框并处理 MonoGame 中的输入?
【发布时间】:2019-05-25 15:02:28
【问题描述】:

我希望人们可以在我的 MonoGame iOS 和 Android 应用程序中创建一个新帐户。我需要一个输入用户名、密码和恢复电子邮件地址的文本框(如果有人忘记了他的密码)。

  • 如何创建文本框?我应该制作一个白色矩形精灵 (Texture2D) 和一个 spriteFont 来编写文本(例如用户名)吗? 或者有没有更好的方法来创建文本框?

  • 如何确定是否有人用手指点击了空白文本框?我可以使用Rectangle.Intersects(TappRectangle) 还是换一种方式更好?

  • 如何在有人点击文本框后在 iOS/Android 上显示键盘,以便他们在文本框中输入用户名?

  • 如何获取他们在键盘上敲击的字符?

  • 是否可以保存/记住文本(登录数据),以便人们在启动我的应用程序时不需要总是编写它?我希望文本框在他们启动应用程序时已经填写了他们的登录凭据,然后他们只需要点击登录按钮即可登录。

【问题讨论】:

    标签: c# xamarin.android xamarin.ios monogame


    【解决方案1】:

    您可以使用KeyboardInput.Show(string WindowTitle, string Prompt, string Default, bool HidePassword = false) 方法。

    // Load saved data into the following variables:
    var defaultUsername = "";
    var defaultPassword = "";
    var defaultEmail = "";
    
    var username = await KeyboardInput.Show("Name", "What's your username?", defaultUsername);
    var password = await KeyboardInput.Show("Password", "What's your Password?", defaultPassword, true);
    var email = await KeyboardInput.Show("E-Mail", "What's your Email?", defaultEmail);
    
    // validate and save if the values do not match the defaults above
    
    

    这将显示三个单独的输入框,但它处理提示和弹出式键盘显示和输入。

    就保存数据而言:查看TitleContainer 类。您可以使用标准文件 I/O 来读取和写入数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多