嗨,大家好我是新來的C#和untiy我通常開發Java,並有一個問題,使用IEnumerator返回一個值。基本上我有一個客戶端腳本,它將用戶名和密碼註冊到服務器上的數據庫中。我的問題是,當我點擊一個按鈕時,應調用客戶端腳本中的方法,將用戶輸入的用戶名和密碼添加到數據庫中。負責這個的方法應該返回一個字符串,表明註冊成功/不成功。當我嘗試實現這個我得到以下錯誤:返回一個值IEnumerator
「的NullReferenceException:未設置爲一個對象 RegisterScript.OnMouseUp的實例對象引用()(在資產/腳本/ RegisterScript.cs:23) UnityEngine。 SendMouseEvents:DoSendMouseEvents()「
以下是兩個類的代碼,感謝任何人可以幫助!附接到通過用戶名和密碼的客戶端腳本
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class RegisterScript : MonoBehaviour {
public string Registeredpassword;
public string Registeredusername;
public Texture2D registerButton;
//Use this for initialization
void OnGUI() {
Registeredpassword = GUILayout.PasswordField(Registeredpassword, "*"[0], 25);
Registeredusername = GUILayout.TextField(Registeredusername, 25);
}
void OnMouseUp(){
ClientSideScript client = (ClientSideScript)FindObjectOfType(typeof(ClientSideScript));
IEnumerable<string> stringcheck = client.RegisterUsers(Registeredusername , Registeredpassword);
print (stringcheck);
}
}
從這個上面的代碼,我沒有看到任何可以被IEnumerable的。 – 2012-04-13 12:28:02
相關,並有更好的解決方案imho:http://answers.unity3d.com/questions/207733/can-coroutines-return-a-value.html – cregox 2012-09-26 16:08:30