如何通过InputField Unity3D 5传输int值

时间:2016-01-09 19:58:54

标签: input unity3d user-input

我试图找出如何通过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;

            }
        }

1 个答案:

答案 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事件尽早执行检查。