2015-12-20 50 views
0

顯示我正在做一個登錄系統和它應該通過向的debug.log出現在控制檯的消息,當用戶輸入用戶名或密碼。沒有的debug.log在控制檯

我做了不同的腳本文件的用戶名和密碼的腳本。

用戶名腳本這裏:

using UnityEngine; 
using System.Collections; 
using UnityEngine.UI; 


public class Username : MonoBehaviour { 

    public string username; 

    public void WritingUsername() 
    { 
    // store the input from the user in the username string 

     username = transform.Find ("UsernameInputField/Text").GetComponent<InputField>().text; 
     Debug.Log (username); 


    } 
} 

密碼腳本的位置:

using UnityEngine; 
using System.Collections; 
using UnityEngine.UI; 


public class Password : MonoBehaviour { 

    public string password; 

    public void WritingPassword() 
    { 
     // store the input from the user in the username string 

     password = transform.Find ("PasswordInputField/Text").GetComponent<InputField>().text; 
     Debug.Log (password); 


    } 

} 

層次這裏:

enter image description here

有什麼不對?

+0

請告訴我打電話'writing'我已經變得瘋狂? – agconti

+0

我做了一個副本過去,現在你說我也沒有改變密碼的寫作功能,但我的想法是單獨製作密碼和用戶名代碼,然後當按下登錄按鈕時,它會調用2個腳本,那些2功能並驗證它們,明白嗎? –

回答

0

很可能輸入控件不是保存腳本的對象的子項。

Tranform.Find finds only children

你可以給GameObject.Find一試

+0

我把這個腳本放在了UsernameInputField和PasswordInputField中,我正在做對嗎?或者我應該把它放在文本中? –

+0

嘗試將PasswordInputField/Text更改爲「TexT」 – Makubex

+0

我已經完成了它,沒有顯示任何東西 –

0

只要你是從你的腳本執行方法WritingUsernameWritingPassword,你的代碼應該工作。

你確定你沒有得到一個空字符串,字符串的默認值?

使用string.Format通常使得它更容易捕捉空日誌。它也更漂亮。

Debug.Log (string.Format("Password: {0}", password)); 
+0

使用它並沒有在控制檯中顯示任何東西:\,我可以看到當我按下子文本時輸入任何內容文本(腳本)更改爲我在密碼字段中編寫的內容,但控制檯始終不顯示任何內容 –

+0

您確定您正在執行方法並且腳本已添加到遊戲對象嗎?你在控制檯中是否有其他的日誌消息?嘗試在任何其他地方或無效開始添加日誌。 – Mattias

+0

對不起,我不明白你的意思是什麼\t 「你確定你在執行這些方法嗎?」?我認爲我做得很好,2個腳本,用戶名和密碼都附加到層次結構中的UsernameInputField和PasswordInputField Parents –

0

你確定這些腳本是附加到層次上的東西嗎?

只是爲了測試我會做這兩個腳本:

void Start(){ 
    Debug.Log ("Test"); 
} 

如果你沒有看到任何嘗試使用

print ("test"); 

如果仍然看不到任何東西,這些腳本由於某種原因沒有工作,或者他們沒有附加到任何遊戲對象。

如果看到你的那些可能有問題的變量的消息。例如,你可以做的是將全局或者使用帶參數的函數進行存儲(JUST FOR TEST,不要爲了發佈)。

+0

是的,我現在可以看到消息,現在我將檢查變量 –

+0

我認爲它可能是「。找到」這就是爲什麼我說你可以使用函數的參數。您只需在需要的地方調用該函數,並提供打印或調試所需的參數。 –

+0

我還沒有研究太多有關函數的參數,public void WritingPassword(string password),你的意思是這個例子? –

1

如果這真是一個調試不顯示的問題那麼請確保控制檯選項卡您選擇登錄選項,畫面建議。使用此選項:) enter image description here

+0

我也做過了,仍然不起作用 –

+0

然後,你必須調用WritingUsername()和WritingPassword()on button click –