2015-09-13 62 views
1

如何實現此目的?一個函數在Unity中只能使用1個參數來處理事件。 在我想比較的同一畫布中有兩個不同的輸入字段。 我假設這可以使用對象作爲參數完成,但我不知道我可以通過哪個對象。我嘗試拖動畫布和輸入字段gameObject(我猜這就是它的名稱)到我選擇的函數的對象參數字段,但它們不被接受。如果兩個輸入字段具有相同的值,則統一比較

這就是我要附加的腳本: -
enter image description here

+0

您要拖到哪裏?我並不熟悉Unity中的任何地方,你可以將GameObject作爲*參數*,只作爲一個字段。 (也許你指的是我還沒有玩過的一些圖形用戶界面的東西,增加清晰的問題將有所幫助。) – 31eee384

+0

@ e1eee384我相信他意味着他將它作爲變量添加在檢查員 –

+0

@ e1ee384我是嘗試將它們拖到第二個輸入字段的OnValueChange事件調用的方法的參數。我使用Unity 5.而且我非常確定這是錯誤的。 –

回答

1

InputFields不是遊戲對象。它們是UI.InputField類的對象。所以在你的腳本導入UI中用

#using UnityEngine.UI; 

然後創建2個InputField對象。

public InputField inp1; 
public InputField inp2; 

然後拖動您的InputFields給他們。然後你可以比較他們的文字那樣:

if(inp1.text == inp2.text) {} 

編輯:您不應該附加一個腳本來那裏,因爲這些變量可以動態地改變。將這個腳本附加到一個空的遊戲對象上,在腳本下面添加新的代碼片段,然後將這個空的遊戲對象附加到你展示的事件字段。然後你應該選擇編輯結束時調用的函數。爲此,在腳本中爲每個輸入字段創建兩個不同的函數:

//Call this on EndEdit for inputField1 
public void InpField1EndEdit() 
{ 
    //compare input fields here or make what you want 
} 

//Call this on EndEdit for inputField2 
public void InpField2EndEdit() 
{ 
    //compare input fields here or make what you want 
} 
+0

我應該在哪裏放置這個腳本? –

+0

沒關係。你可以把它放到一個空的遊戲對象或主相機上。 – Cenkisabi

+0

我添加了一個我要附加腳本的截圖。如果我將它附加到那裏,我看不到可以拖放輸入框的選項。 –

相關問題