簡體   English   中英

在Unity 5中如何從場景中的所有輸入字段獲取文本?

[英]How would I go about getting the text from all input fields in a scene in Unity 5?

截至目前,我的場景中有兩個輸入字段和一個按鈕。 單擊按鈕后,我想檢索兩個輸入字段的內容。 通過在它們的按鈕功能上添加兩次相同的腳本,我可以分別獲取每個內容。 但是,我只想使用一個腳本就獲得兩個輸入字段。

我試過使用GetComponents,但是我想我不明白它是如何工作的。 我假設GetComponents將獲取場景中的所有輸入字段並將其保存到數組中。 然后,我可以循環瀏覽每個索引並獲取每個輸入的text屬性。 這不正確嗎?

謝謝!

您可以做的是使用GetComponentsInChildren ...,將所有帶有GameInput對象的GameObjects都放置在Parent Game Object中,然后將腳本添加到Parent ...

然后做類似的事情:

---編輯:好吧,我在Inputfields上玩了一點...所以,如果您注意的話,您的inputfield有2個子對象,一個稱為“占位符”,另一個稱為“文本”,並且它們都有一個Text組件,所以您要做的是:

List<string> textFromMyInputs = new List<string>();
 void GetAllTextFromInputFields()
    {

    foreach(InputField inputField in gameObject.GetComponentsInChildren<InputField>())
    {
        foreach (Text text in inputField.GetComponentsInChildren<Text>())
        {
            if (text.gameObject.name != "Placeholder")
                textFromMyInputs.Add(text.text);
        }
    }

    foreach (string s in textFromMyInputs)
    {
        Debug.Log(s);
    }
}

已經過測試,對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM