Unity TMPro InputField 小数分隔符

问题描述 投票:0回答:1

我有 TMPro 输入字段,只想输入十进制数字。在 PC 上我需要按逗号分隔,点不起作用。我的手机不支持仅逗号点,所以我只能输入整数。

我使用的唯一代码如下:

  1. 我通过公共 TMP_InputField 获取了参考
  2. 我用 inputField.text 读取文本

但这不是问题。我任何时候都不会更改输入字段中的文本。我刚读完。

在检查器中,我将内容类型从标准更改为十进制数字。

我在这里链接了一张图片,因为我无法发布自己的图片(我需要更多声誉)。

我尝试在构建之前更改PC语言,但这不起作用,我仍然需要输入逗号。我尝试用点替换逗号。这也不起作用,Unity 正在删除 OnValueChanged 事件之前的点。有什么方法可以更改分隔字符或将其设置为默认指向吗?

unity-game-engine input
1个回答
0
投票

当输入字段被编辑时,如果输入的文本对应于十进制,你不能检查一下吗?

public InputField inputField;
public List<string> supportedCharacters = new List<string>(){"1","2","3",".",","};//Fill here your characters

public void Start() //Call a function whenever the input field is edited
{
    mainInputField.onValueChanged.AddListener(delegate {ValueChangeCheck(); });
}

//
public void ValueChangeCheck() //Called when the value changed
{
    foreach(string character in mainInputField.text){
          if(!supportedCharacters.Contains(character))
                 {//Do sthg to delete the uncorrect character}
    }
}

这将使您能够更好地控制可以输入和不能输入的内容。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.