在Unity 5中设置多输入字段



目前,我的代码使用一个InputField(压力)可以正常工作,但我现在正试图设置第二个InputField来显示钻杆输入。如何将另一个输入字段(例如drillpipe)添加到当前脚本中?

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
    public class UserInput : MonoBehaviour {
        InputField input;
        int intPressure = 0;
        int drillpipe = 0;
        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;
            if(int.TryParse(pressure, out intPressure))
            {
                pressureScript.pressure = intPressure;
            }
            else
            {
                // Parse fail, show an error or something
            }
        }
   }

要找出多个与GetComponent<T>类型相同的Component,确实会遇到问题。我建议按照InputField创建GameObject,将其作为持有UserInput的GameObject的子对象。

然后,您只需要创建两个与InputField相对应的公共字段,即:

public InputField field1;
public InputField field2;
//Do something with them
void Start()
{
    DoStuff(field1);
    DoStuff(field2);
}

并从检查员那里分配。只需拖动持有每个InputField的GameObject,并将其放在检查器内的变量上。这样你就可以确切地知道你在使用哪个InputField。您还可以从中制作一个预制件,以实现代码的可重用性和实例化。

相关内容

  • 没有找到相关文章

最新更新