我试图找出如何通过Unity InputField传输int值。我可以用字符串做,但有问题通过整数转移它。该脚本基本上将int值传递给另一个脚本。有什么建议吗?
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class UserInput : MonoBehaviour {
public int pressure = 1;
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;
}
}
答案 0 :(得分:0)
可以通过文本成员读取InputField,但它是一个字符串。所以你必须解析它:
InputField input;
public void OnEnd(){
try
{
float f = float.Parse (input.text);
Debug.Log (f);
}
catch(Exception){
input.text = "Wrong Value";
}
}
您可以从InputField将该方法注册到EndEdit事件并执行解析。您也可以使用OnChangeValue事件尽早执行检查。