不知道如何使用 InputField 通过 Unity 3D 发送整数值
Don't know how to send Integer value through Unity 3D using InputField
在大多数情况下,我的代码可以正常工作。我想让代码做的是将输入值放入 pressureScript 中。现在,我将其设置为 5,但我将数字 5 替换为用户输入,而不是由数字 5 的值定义。
当我提交时,只有数字 5 被发送,而不是由用户输入。
我也对它是一个字符串有疑问,但我希望它是一个整数。有什么建议么?
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class UserInput : MonoBehaviour {
InputField input;
public DataManager data;
void Start ()
{
var input = gameObject.GetComponent<InputField>();
var se= new InputField.SubmitEvent();
se.AddListener(SubmitName);
input.onEndEdit = se;
}
private void SubmitName(string pressure)
{
var pressureScript = GameObject.FindObjectOfType(typeof(DataManager)) as DataManager;
pressureScript.pressure = 5;
}
}
您可以使用 int.TryParse(pressure, out intPressure)
解析字符串
参见:https://msdn.microsoft.com/fr-fr/library/f02979c7%28v=vs.110%29.aspx
例如:
int intPressure = 0;
if(int.TryParse(pressure, out intPressure))
{
// Parse success, set the value of pressure in your component.
pressureScript.pressure = intPressure;
}
else
{
// Parse fail, show an error or something
}
在大多数情况下,我的代码可以正常工作。我想让代码做的是将输入值放入 pressureScript 中。现在,我将其设置为 5,但我将数字 5 替换为用户输入,而不是由数字 5 的值定义。
当我提交时,只有数字 5 被发送,而不是由用户输入。
我也对它是一个字符串有疑问,但我希望它是一个整数。有什么建议么?
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class UserInput : MonoBehaviour {
InputField input;
public DataManager data;
void Start ()
{
var input = gameObject.GetComponent<InputField>();
var se= new InputField.SubmitEvent();
se.AddListener(SubmitName);
input.onEndEdit = se;
}
private void SubmitName(string pressure)
{
var pressureScript = GameObject.FindObjectOfType(typeof(DataManager)) as DataManager;
pressureScript.pressure = 5;
}
}
您可以使用 int.TryParse(pressure, out intPressure)
解析字符串参见:https://msdn.microsoft.com/fr-fr/library/f02979c7%28v=vs.110%29.aspx
例如:
int intPressure = 0;
if(int.TryParse(pressure, out intPressure))
{
// Parse success, set the value of pressure in your component.
pressureScript.pressure = intPressure;
}
else
{
// Parse fail, show an error or something
}