2016-01-09 47 views
0

我試圖弄清楚如何通過Unity InputField傳輸int值。我可以用字符串做,但有問題通過整數轉移它。該腳本基本上是將一個int值傳遞給另一個腳本。任何建議?如何通過InputField Unity3D傳輸int值5

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

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事件提前執行檢查。

+0

我該如何將無效提交名的值提交給另一個腳本? – Coder

+0

我想你會調用一個方法並傳遞f作爲參數。 – Everts

+0

好的。謝謝。一旦我回家,我會試一試。 – Coder